47
The Firecracker Protocol Philip Levis and David Culler UC Berkeley

The Firecracker Protocol

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

The Firecracker Protocol

Philip Levis and David Culler UC Berkeley

9/19/04 SIGOPSEW 1

Data Dissemination in Sensor Nets

•  Sensor net: many low power, wireless “motes” –  1-10 KB RAM, 4-8MHz CPU, 10-100Kbs radio

•  Dissemination: deliver a data item to every mote in a network –  Configuration constants –  Code updates, virtual programs

•  Requires a continuous protocol –  Transient disconnections, network repopulation

•  Two metrics: energy efficiency, rate

9/19/04 SIGOPSEW 2

Broadcast-based Protocols

•  Every node forwards •  Energy efficient

–  Can use physical density, opportunistic receptions •  Slow: can’t immediately forward

–  Suppression mechanisms, timers –  CSMA: broadcast storms –  RTS/CTS: control packet exchange latency

9/19/04 SIGOPSEW 3

Routing-based Protocols

•  One node forwards •  Fast

–  Next hop can immediately retransmit •  Energy inefficient: naming

–  Need many routes to reach entire network –  Naming every node unfeasible

9/19/04 SIGOPSEW 4

Firecracker Dissemination

•  Combine routing and broadcasts –  Routing’s speed –  Broadcasting’s efficiency

•  Seeding phase –  Route data to distant points in the network

•  Propagation phase –  Start broadcasting from routes

9/19/04 SIGOPSEW 5

Firecracker Example

9/19/04 SIGOPSEW 6

Firecracker Example

9/19/04 SIGOPSEW 7

Firecracker Example

9/19/04 SIGOPSEW 8

Firecracker Example

9/19/04 SIGOPSEW 9

Outline

•  Data dissemination •  Sensor networking, Trickle •  Firecracker •  Randomized Seeds •  Conclusion

9/19/04 SIGOPSEW 10

Outline

•  Data dissemination •  Sensor networking, Trickle •  Firecracker •  Randomized Seeds •  Conclusion

9/19/04 SIGOPSEW 11

Sensor Networking

•  Energy is critical, communication is costly •  Local wireless broadcast primitive

–  Unique node identifiers •  Many application requirements, many network

protocols –  Collection –  Any-to-any (logical coordinates: GEM, BVR, etc.) –  Local aggregation –  Dissemination

•  Trickle

9/19/04 SIGOPSEW 12

Trickle Algorithm

•  Periodically broadcast metadata M •  Suppression interval of length T •  Pick a random point b in T

– Broadcast unless you hear M •  When T expires, double it (up to a max) •  If you hear M+, make T very small (1 sec) •  If you hear M-, send an update •  Trickle plots

9/19/04 SIGOPSEW 13

Experimental Methodology

•  TOSSIM, a TinyOS simulator •  Compiles applications into a simulator engine •  Radio loss model based on empirical distributions

–  Asymmetric –  Highly variable

•  Unit disk interference model •  Bit-level or packet-level simulation

–  We used packet-level

9/19/04 SIGOPSEW 14

Trickle Plot

36-40

32-36

28-32

24-28

20-24

16-20

12-16

8-12

4-8

0-4

•  20x20 grid (400 nodes) •  New datum •  15 foot spacing •  32 hop network •  Time to reception in

seconds •  Wave of activity

9/19/04 SIGOPSEW 15

Outline

•  Data dissemination •  Sensor networking, Trickle •  Firecracker •  Randomized Seeds •  Conclusion

9/19/04 SIGOPSEW 16

Firecracker

•  Start disssemination by seeding network •  Route data to a few distant points •  Start broadcast dissemination along paths

–  Destination, route, snooping •  Example: corners on a grid-based protocol

–  Nodes can forward to manhattan neighbors –  If two options, select randomly –  Network density ensures manhattan links exist

•  Same methodology as Trickle example

9/19/04 SIGOPSEW 17

Basic Trickle

36-40

32-36

28-32

24-28

20-24

16-20

12-16

8-12

4-8

0-4

9/19/04 SIGOPSEW 18

Adjacent Corners

28-32

24-28

20-24

16-20

12-16

8-12

4-8

0-4

9/19/04 SIGOPSEW 19

Opposite Corner

20-24

16-20

12-16

8-12

4-8

0-4

9/19/04 SIGOPSEW 20

All Corners

20-24

16-20

12-16

8-12

4-8

0-4

9/19/04 SIGOPSEW 21

Reception Time Distributions

20-24

16-20

12-16

8-12

4-8

0-4

36-40

32-36

28-32

24-28

20-24

16-20

12-16

8-12

4-8

0-4

20-24

16-20

12-16

8-12

4-8

0-4

0%2%4%6%8%

10%12%14%16%18%20%

2 6 10 14 18 22 26 30

Time to Reception (seconds)

Perc

en

t o

f N

od

es

0%2%4%6%8%10%12%14%16%18%20%

2 6 10 14 18 22 26 30

Time to Reception (seconds)

Perc

en

t o

f N

od

es

0%

2%4%

6%8%

10%12%

14%16%

18%20%

2 6 10 14 18 22 26 30 34 38 42

Time to Reception (seconds)

Perc

en

t o

f N

od

es

Larger "domain (42 s)"

28-32

24-28

20-24

16-20

12-16

8-12

4-8

0-4

0%2%4%6%8%10%12%14%16%18%20%

2 6 10 14 18 22 26 30

Time to Reception (seconds)

Perc

en

t o

f N

od

es

9/19/04 SIGOPSEW 22

Reception Time Distributions

20-24

16-20

12-16

8-12

4-8

0-4

36-40

32-36

28-32

24-28

20-24

16-20

12-16

8-12

4-8

0-4

20-24

16-20

12-16

8-12

4-8

0-4

0%2%4%6%8%

10%12%14%16%18%20%

2 6 10 14 18 22 26 30

Time to Reception (seconds)

Perc

en

t o

f N

od

es

0%2%4%6%8%10%12%14%16%18%20%

2 6 10 14 18 22 26 30

Time to Reception (seconds)

Perc

en

t o

f N

od

es

0%

2%4%

6%8%

10%12%

14%16%

18%20%

2 6 10 14 18 22 26 30 34 38 42

Time to Reception (seconds)

Perc

en

t o

f N

od

es

Larger "domain (42 s)"

28-32

24-28

20-24

16-20

12-16

8-12

4-8

0-4

0%2%4%6%8%10%12%14%16%18%20%

2 6 10 14 18 22 26 30

Time to Reception (seconds)

Perc

en

t o

f N

od

es

20835 Sends" 19544 Sends" 18275 Sends" 6665 Sends"

9/19/04 SIGOPSEW 23

Routing Reduces Cost

•  Routing happens quickly –  Synchronizes nodes –  Trickle performance improves

•  Fewer nodes need metadata exchanges –  Metadata is most of the traffic

9/19/04 SIGOPSEW 24

Hybrid Approach is Beneficial

•  Distant seed points –  Improves rate –  Reduces cost

•  Can’t assume knowing what distant points exist –  Can’t store all the names –  Need a way to select seeds –  Randomization prevents corner cases

9/19/04 SIGOPSEW 25

Outline

•  Data dissemination •  Sensor networking, Trickle •  Firecracker •  Randomized Seeds •  Conclusion

9/19/04 SIGOPSEW 26

Experimental Methodology

•  Use same grid arrangement •  Run twenty experiments, average results

9/19/04 SIGOPSEW 27

Four Policies

•  From corner to one random node in the grid •  From corner to three random nodes •  From center to three random nodes •  From corner to three random distant nodes

9/19/04 SIGOPSEW 28

Histograms

0

5

10

15

20

25

30

2 8 14 20 26 32 38 44 50 56 62 68

Time to Reception (seconds)

Perc

en

t o

f N

od

es

0

5

10

15

20

25

30

2 8 14 20 26 32 38 44 50 56 62 68

Time to Reception (seconds)

Perc

en

t o

f N

od

es

0

5

10

15

20

25

30

2 8 14 20 26 32 38 44 50 56 62 68

Time to Reception (seconds)

Perc

en

t o

f N

od

es

0

5

10

15

20

25

30

2 8 14 20 26 32 38 44 50 56 62 68

Time to Reception (seconds)

Perc

en

t o

f N

od

es

One from corner Three from corner

Three distant from corner Three from center

9/19/04 SIGOPSEW 29

Results

•  Picking random nodes works OK –  Adding more does not improve results a great deal

•  Coverage improves from center •  Distant nodes works best •  Need route to edge of the network

–  Logical coordinate spaces support this

9/19/04 SIGOPSEW 30

Outline

•  Data dissemination •  Sensor networking, Trickle •  Firecracker •  Randomized Seeds •  Conclusion

9/19/04 SIGOPSEW 31

Network Protocols

•  Varying communication requirements –  Collection (n to one) –  Dissemination (one to n) –  Diffusion (m to n) –  Local Aggregation

•  Forwarding predicates –  Density estimation

•  Predicate and media access interaction •  Routing’s scoping enables fast propagation •  Slower broadcasts fill in the holes

9/19/04 SIGOPSEW 32

Questions and Discussion

9/19/04 SIGOPSEW 33

Any-to-Any Routing

•  Current protocols use logical coordinates –  GEM (Graph Embedding, polar coordinates) –  BVR (Beacon Vector Routing, n-dimensional)

•  GPSR uses geographic coordinates –  Requires localization –  Virtual coordinates may be possible

•  Data dissemination benefits from being able to name a distant node (network distance)

9/19/04 SIGOPSEW 34

Broadcasting

9/19/04 SIGOPSEW 35

Broadcasting

9/19/04 SIGOPSEW 36

Broadcasting

9/19/04 SIGOPSEW 37

Broadcasting

9/19/04 SIGOPSEW 38

Broadcasting

9/19/04 SIGOPSEW 39

Broadcasting

9/19/04 SIGOPSEW 40

Broadcasting

9/19/04 SIGOPSEW 41

Routing

9/19/04 SIGOPSEW 42

Routing

9/19/04 SIGOPSEW 43

Routing

9/19/04 SIGOPSEW 44

Routing

9/19/04 SIGOPSEW 45

Routing

9/19/04 SIGOPSEW 46

Routing, With Snooping