1 / 46

Trickle: Code Propagation and Maintenance

Learn about Trickle algorithm, a polite gossip method for code dissemination in sensor networks. Understand maintenance, propagation, and scalability with practical examples.

cmelissa
Download Presentation

Trickle: Code Propagation and Maintenance

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Trickle: Code Propagation and Maintenance Philip Levis UC Berkeley Neil Patel UC Berkeley David Culler UC Berkeley Scott Shenker UC Berkeley ICSI

  2. Retasking a Sensor Net • Long lifetimes require retasking • Spectrum of retasking mechanisms • Binary images (MOAP, XnP, Deluge) • High-level virtual programs (Maté, TinyDB) • Parameter setting (Attribute, Global) • Install on every node • Packet loss and transient disconnection • Periodically check that everyone has the right code (advertise) • TinyDB tuples embed query ID NEST Retreat, Jan 2004

  3. Propagating Can Be Costly, • Binaries: 10-60KB • Virtual programs: 20-400B • Parameters: 8-30B • To every node in a large, multihop network… NEST Retreat, Jan 2004

  4. Knowing When Is Costlier • Periodically checking that everyone has the right code (advertisements) can cost more than the code itself. • 64KB of data: ~1 packet/minute for a day • 400B of data: ~1 packet/hour for a day • 20B: one packet! NEST Retreat, Jan 2004

  5. Problem Statement • The first step is to detect when nodes need updates (continuous process) • When there is no new code • Maintenance cost should approach zero • When there is new code • Propagation should be rapid NEST Retreat, Jan 2004

  6. Relation to Deluge, SPIN, etc. • When do you advertise code? • How do you suppress control messages? • Not a dissemination protocol NEST Retreat, Jan 2004

  7. Solution: Trickle • Simple, “polite gossip” algorithm • “Every once in a while, broadcast what code you have, unless you’ve heard some other nodes broadcast the same thing.” • Behavior (simulation and deployment): • Scalability: thousand-fold density changes • Maintenance: a few sends per hour • Propagation: less than a minute NEST Retreat, Jan 2004

  8. Outline • Introduction • Trickle algorithm • Maintenance • Propagation • Conclusion NEST Retreat, Jan 2004

  9. Trickle Assumptions • Wireless broadcast medium • Concise, comparable metadata • Given A and B, know which has newer code NEST Retreat, Jan 2004

  10. Idea: Communication • As long as each mote communicates with one other, needed updates will be detected • In a single cell, one transmission will detect all needed updates • Communication is reception or transmission • Maintain a communication rate: (receptions + transmissions) <= k NEST Retreat, Jan 2004

  11. Trickle Algorithm • Time interval of length t • Redundancy constant k (e.g., 1, 2) • Pick a time t from [0,t] • Maintain a counter c, initialized to zero • At time t, broadcast code metadata if c < k • Increment c when you hear identical metadata to your own • At end of t, pick a new t NEST Retreat, Jan 2004

  12. Example Trickle Execution k=1 c 0 1 2 0 3 0 t time transmission suppressed transmission reception NEST Retreat, Jan 2004

  13. Example Trickle Execution k=1 c 0 1 t1a 2 0 3 0 t time transmission suppressed transmission reception NEST Retreat, Jan 2004

  14. Example Trickle Execution k=1 c 0 1 t1a 2 1 3 0 t time transmission suppressed transmission reception NEST Retreat, Jan 2004

  15. Example Trickle Execution k=1 c 0 1 t1a 2 1 3 0 t3a t time transmission suppressed transmission reception NEST Retreat, Jan 2004

  16. Example Trickle Execution k=1 c 0 1 t1a 2 2 3 0 t3a t time transmission suppressed transmission reception NEST Retreat, Jan 2004

  17. Example Trickle Execution k=1 c 0 1 t1a 2 2 t2a 3 0 t3a t time transmission suppressed transmission reception NEST Retreat, Jan 2004

  18. Example Trickle Execution k=1 c 0 1 t1a 2 0 t2a 3 0 t3a t time transmission suppressed transmission reception NEST Retreat, Jan 2004

  19. Example Trickle Execution k=1 c 1 1 t1a 2 0 t2a t2b 3 1 t3a t time transmission suppressed transmission reception NEST Retreat, Jan 2004

  20. Example Trickle Execution k=1 c 1 1 t1a 2 0 t2a t2b 3 1 t3a t3b t time transmission suppressed transmission reception NEST Retreat, Jan 2004

  21. Example Trickle Execution k=1 c 1 1 t1a t1b 2 0 t2a t2b 3 1 t3a t3b t time transmission suppressed transmission reception NEST Retreat, Jan 2004

  22. Outline • Problem statement • Trickle algorithm • Maintenance • Propagation • Conclusion NEST Retreat, Jan 2004

  23. Maintenance • Minimize maintenance cost (transmissions) when there is no new code • Keep as close to k as possible • Start with three assumptions, relax each • Lossless network • Perfect synchronization • Single-hop NEST Retreat, Jan 2004

  24. Ideal Case • k transmissions per interval • First k nodes to transmit suppress all others • Independent of density NEST Retreat, Jan 2004

  25. Loss NEST Retreat, Jan 2004

  26. Logarithmic Behavior of Loss • Transmission increase is due to the probability that one node has not heard n transmissions • Example: 10% loss • 1 in 10 nodes will not hear one transmission • 1 in 100 nodes will not hear two transmissions • 1 in 1000 nodes will not hear three, etc. • Fundamental bound to maintaining per-interval communication NEST Retreat, Jan 2004

  27. Synchronization NEST Retreat, Jan 2004

  28. Short Listen Effect • Some nodes don’t listen much (pick small t values) • For example, B transmits three times: t A B C D Time transmission suppressed transmission reception NEST Retreat, Jan 2004

  29. Solution • Add a listening period: pick t from [0.5t,t] Listen-only period NEST Retreat, Jan 2004

  30. Effect of Listen Period NEST Retreat, Jan 2004

  31. Multi-Cell Case • TOSSIM simulation • No synchronization, loss from empirical model • Nodes uniformly distributed in 50’x50’ area • Logarithmic scaling holds NEST Retreat, Jan 2004

  32. Empirical Validation (transmissions + receptions) • Redundancy: • Maté VM implementation - k intervals NEST Retreat, Jan 2004

  33. Outline • Problem statement • Trickle algorithm • Maintenance • Propagation • Conclusion NEST Retreat, Jan 2004

  34. Choosing Intervals • Large interval: low cost, slow to discover • Small interval: high cost, quick to discover • When there’s new gossip, talk more • When there’s nothing new, talk less NEST Retreat, Jan 2004

  35. Speeding Propagation • Adjust t: tl, th • When t expires, doubletup to th • When you hear newer metadata, set ttotl • When you hear newer code, set ttotl • When you hear older metadata, send an update NEST Retreat, Jan 2004

  36. Rate Change Illustration Hear Newer Metadata 2tl th tl th th 2 Time NEST Retreat, Jan 2004

  37. Simulated Propagation k=1, tl=1 second, th=1 minute NEST Retreat, Jan 2004

  38. Empirical Propagation • Deployed 19 nodes in office setting • Instrumented nodes for accurate time measurements • Introduce new code, log installation times • k=1, tl=1 second, th=1 minute • 40 test runs NEST Retreat, Jan 2004

  39. Network Layout NEST Retreat, Jan 2004

  40. Empirical Results NEST Retreat, Jan 2004

  41. Changing th to 20 minutes k=1 NEST Retreat, Jan 2004

  42. Conclusions • Trickle efficiency scales logarithmically with density • Can obtain rapid propagation with low maintenance • At most 3 sends/hour, propagates in 30 seconds • Uses beyond code propagation • Changes to data such as routing tables • E.g., predicates can scope distance • Further examination of tl, th and k needed NEST Retreat, Jan 2004

  43. Questions • Tech report available in back NEST Retreat, Jan 2004

  44. NEST Retreat, Jan 2004

  45. NEST Retreat, Jan 2004

  46. NEST Retreat, Jan 2004

More Related