500 likes | 696 Views
Design and Evaluation of a Versatile and Efficient Receiver-Initiated Link Layer for Low-Power Wireless Prabal Dutta, Stephen Dawson-Haggerty, Yin Chen, Chieh-Jan (Mike) Liang, and Andreas Terzis Sensys’10 at ETH Zurich.
E N D
Design and Evaluation of a Versatile and Efficient Receiver-Initiated Link Layer for Low-Power Wireless Prabal Dutta, Stephen Dawson-Haggerty, Yin Chen, Chieh-Jan (Mike) Liang, and Andreas Terzis Sensys’10 at ETH Zurich
A sender-initiated MAC:Sender triggers communications by transmitting a data Sender Listen D Receiver D Listen
Low-power listening (LPL) with a sender-initiated MAC D Receiver Tlisten Preamble D Noise Sender Overhearing/noise adds significant unpredictability to node lifetime
A receiver-initiated MAC:Receiver triggers exchange by transmitting a probe Sender Listen P D Receiver P D
Low-power, receiver-initiated servicesoffer many benefits over sender-initiated ones • Handle hidden terminals better than sender-initiated ones • Support asynchronous communication w/o long-preambles • Support extremely low duty cycles or high data rates • Support many low-power services • Wakeup (“LPP”, Musaloiu-E. et al., IPSN’08) • Discovery (“Disco”, Dutta et al., Sensys’08) • Unicast (“RI-MAC”, Sun et al., Sensys’08) • Broadcast (“ADB”, Sun et al., Sensys’09) • Pollcast (“Pollcast”, Demirbas et al., INFOCOM’08) • Anycast (“Backcast”, Dutta et al., HotNets’08)
Low-power, receiver-initiated MACs face a number of drawbacks as well • Probe (LPP) is more expensive than channel sample (LPL) • Baseline power is higher • Frequent probe transmissions • Could congest channel & increase latency • Could disrupt ongoing communications • Channel usage scales with node density rather than traffic • Services use incompatible probe semantics • Makes concurrent use of services difficult • Supporting multiple, incompatible probes increases power
The probe incompatibility mess Pollcast Backcast • Probes use hardware acknowledgements • Probes do not use hardware acknowledgements • Probes include only receiver-specific data • Probes include sender-specific data too • Probes include contention windows • Probes do not include contention windows LPP RI-MAC
Is it possible to design a general-purpose, yet efficient, receiver-initiated link layer?
Most consequential decision a low-power MAC makes:stay awake or go to sleep? Sender-Initiated: Channel Sampling D RX Tlisten Preamble D Noise TX Receiver-Initiated: Channel Probing Listen P DATA TX P P DATA RX
Asynchronous network wakeup 1 2 4 3 5 Listen P D Listen Node 1 D D P D Listen P Listen P Listen P D Node 2 P D Listen P D Node 3 P D Listen P D Node 4 P D Node 5 PFN? frame collision PFP?
Wait, not so fast! Node 5 might receive a response • Power capture: One response has a sufficiently higher power than the sum of the others… and it arrives first • Delay capture: One response frame arrives some time before the remaining ones… and its power is higher than the sum of the others • Message-in-Message capture: Like power capture, but the highest power frame arrives in the middle of another frame transmission and radio detects elevated energy… and the radio does continuous preamble detection • These are a lot of caveats…
Solving the synchronization problem with Backcast • A link-layer frame exchange in which: • A single radio PROBE frame transmission • Triggers zero or more identical ACK frames • Transmitted with tight timing tolerance • So there is minimum inter-symbol interference • And ACKs collide non-destructively at the receiver You should be skeptical that this idea might work P A TX P A RX P A TX P. Dutta, R. Musaloiu-E., I. Stoica, A. Terzis, “Wireless ACK Collisions Not Considered Harmful”, HotNets-VII, October, 2008, Alberta, BC, Canada
Outline • Introduction • Motivation • What is A-MAC? • Protocol overview • Synchronization using Backcast • Contention using binary exponential backoff • Communications using multichannel transfers • How is it used? • How well does it work? • How much does it cost? • What are its limitations?
A-MAC: An 802.15.4 receiver-initiated link layer RXTX turnaround time: 192 µs Max data packet 4.256 ms Sender Listen P P A DATA Receiver P P A DATA ACK transmission time 352 µs
A-MAC’s contention mechanism Sender Listen P A D P-CW BO Receiver P A D P-CW D Sender Listen P A D P-CW D Backcast frame collision
A-MAC’s parallel multichannel data transfersuse control, data (1), and data (2) channels Sender 1 Listen P P A DATA Receiver 1 P P A DATA Sender 2 Listen P P A DATA Receiver 2 P P A DATA
Outline • Introduction • Motivation • What is A-MAC? • How is it used? [Lacking hardware support] • Unicast • Broadcast • Pollcast • Wakeup • How well does it work? • How much does it cost? • What are its limitations?
Unicast DST=0x0002 SRC=0x0001 SEQ=0x23 MAC=0x8002 MAC=0x8002 Node 1 (Sender) Listen P A D P Listen P A D P-CW BO Node 2 (Receiver) D P L P A D P-CW D P A DST=0x8002 SRC=0x0002 DST=0x8002 SRC=0x0002 ACK=0x0023 FRM=0x0001 MAC=0x8002 Node 3 (Sender) Listen P A D P-CW D Backcast frame collision
Broadcast DST=0x0002 SRC=0x0001 SEQ=0x23 auto-ack=on addr-recog=off off off on off D D D A A A Listen P P Listen P P Listen P P TX 1 D P A P RX 2 DST=0x8002 SRC=0x0002 DST=0x8002 SRC=0x0002 ACK=0x0023 FRM=0x0001 P P A D RX 3 Backcast P P A D RX 4 Backcast Backcast
Wakeup Listen P A Listen Node 1 A A P A Listen P Listen P Listen P A Node 2 DST=0xFFFF SRC=0x0002 P A Listen P A Node 3 P A Listen P A Node 4 P A Node 5 Backcast
Pollcast MAC=0x8765 Node 1 (Sender) A Event Pred Listen P A P+Pred Node 2 (Receiver) Event Pred P+Pred A Listen P A DST=0xFFFF SRC=0x0002 PRED=elephant MAC=0x8765 DST=0x8765 DST=0xFFFF SRC=0x0002 PRED=elephant MAC=0x8765 Node 3 (Sender) Event Pred Listen P+Pred A P A Backcast M. Demirbas, O. Soysal, and M. Hussain, “A Single-Hop Collaborative Feedback Primitive for Wireless Sensor Networks”, INFOCOM’08, April , 2008, Phoenix, AZ
Outline • Introduction • Motivation • What is A-MAC? • How is it used? • How well does it work? • Backcast • A-MAC • How much does it cost? • What are its limitations?
Setup Methodology Platform: Telos mote Protocol: IEEE 802.15.4 Radio: Texas Instruments CC2420 Experiment 8 responder nodes Connect w/ splitter/attenuator Turned on sequentially Transmit 100 packets 125 ms inter-packet interval Log RSSI: received signal strength LQI: chip correlation rate ARR: ACK reception rate Evaluating Backcast: equal-power, equal-path delay
As the number of colliding ACKsgoes from one to eight… Median RSSI increases logarithmically Median LQI remains nearly constant but is more left-tailed ACK reception rate stays practically constant But, for two nodes, LQI exhibits outliers and a lower median
The effect of interference on idle listening:Sampling, Probing, and Backcast Background noise/traffic/noise in an office environment Channel 18 Channel 26 Sampling Sampling Probing Probing Backcast Backcast
A-MAC offers modest incast performance R S S S S Collision Domain
A-MAC supports multiple parallel unicast flows S R S R S R Collision Domain
A-MAC wakes up the network fasterand more efficiently than LPL (Flash) flooding Fewer Packets Faster Wakeup LPL (Flash) LPL (Flash) A-MAC A-MAC
A-MAC wakeup works well at low duty cycles Tprobe = 4,000 ms Pavg = 63 µW Iavg = 21 µA N = 59 “Wakeup Latency” is normalized to the probe interval
Supporting the Collection Tree Protocol (CTP),A-MAC beats LPL on nearly every figure of merit R S S S S S S N = 59 Tdata = 60 s Tprobe = 500 ms S S
Outline • Introduction • Motivation • What is A-MAC? • How is it used? • How well does it work? • How much does it cost? • What are its limitations?
Energy cost of A-MAC primitives:probe, receive, transmit, and listen
With hardware support, probes would cost at least 40% less energy 0. Sleep 1: Start Radio (41 µJ) 2: Ld Prb (61 µJ) 3: Ld Done (23 µJ) 4: Prb Alarm (6 µJ) 5: Start TX (56 µJ) 6: ACK Timer (30 µJ) 7: ACK T’out (26 µJ) 8: Stop Radio (9 µJ) 9: Stopped (13 µJ) 0 1 2 3 4 5 6 7 8 9 35
The cost of a Backcast can be less than 1 ms(for IEEE 802.15.4) RXTX turnaround time: 192 µs Max data packet 4.256 ms Sender P A DATA Receiver P A DATA ACK transmission time 352 µs
Outline • Introduction • Motivation • What is A-MAC? • How is it used? • How well does it work? • How much does it cost? • What are its limitations? • Backcast • A-MAC
Backcast Limitations • Protocol support (802.15.4 supports) • Superposition semantically valid for modulation scheme • Auto ACK with tight timing • ACK frames are identical • Radio support (CC2420 supports) • Broadcast auto ACKs • Multicast auto ACKs • Multiple MAC addresses for interface • Auto ACKs based on SRC address filtering • Auto ACKs based on DST address filtering • Other factors (Not necessarily an issue) • Propagation delay ΔRTT < ½ symbol time • ACK frames do not cancel at PHY layer • Security Easy to spoof
Backcast degrades when path delay differences exceeds approximately 500 ns (500 ft free space)
A-MAC single channel PDR degrades with high node density and high probe frequency S S S S S S S S S S S S R S S S S S S S Collision Domain
Conclusion • Backcast provides a new synchronization primitive • Common abstraction underlying many protocols • Can be implemented using a DATA/ACK frame exchange • Works even with a 8, 12, 94 colliding ACK frames • Faster, more efficient, and more robust than LPL, LPP • A-MAC augments Backcast to implement • Unicast • Broadcast • Network wakeup • Robust pollcast • Results show • Higher packet delivery ratios • Lower duty cycles • Better throughput (and min/max fairness) • Faster network wakeup • Higher channel efficiency
A-MAC’s synchronization primitive P A Sender P A Receiver P A Sender ACK transmission Probe transmission A P ACK reception Probe reception A P
The Query/Response exchange can be mapped to“acknowledged anycast” semantics 1 2 4 3 5 src=<doesn’t matter> dst=broadcast Node 5 asks all of it neighbors, “should one wake up?” To which, Nodes 2, 3, and 4 all respond, “Yes” (everyone sends back the same response) • A node • Broadcasts (or multicasts) a query packet • Waits to see whether the packet is ACK’ed • By at least one of its neighboring nodes • And stays awake if an ACK is received • But goes to sleep otherwise • And the frame collision is like a multicast “ACK implosion” ACK
Backcast using a link-layer DATA/ACK frame exchange Receiver D A Sender D A • Many wireless standards use link-layer automatic ACKs • IEEE 802.11 a/b/g • IEEE 802.15.4 • The DATA/ACK frame turnaround time is tightly-controlled • Creates conditions favorable for power and delay capture • But what should the destination address be? • 802.11 a/b/g: DON’T ACK broadcast or multicast frames • 802.15.4: Standard is fuzzy on ACK-ing broadcast frames • We play with the SRC and DST addresses to get around this
Broadcast DST=0x0002 SRC=0x0001 SEQ=0x23 auto-ack=on addr-recog=off off off on off D D D A A A Listen P P Listen P P Listen P P TX 1 D P A P RX 2 DST=0x8002 SRC=0x0002 DST=0x8002 SRC=0x0002 ACK=0x0023 FRM=0x0001 P P A D RX 3 Backcast P P A D RX 4 Backcast Backcast
Wakeup Listen P A Listen Node 1 A A P A Listen P Listen P Listen P A Node 2 DST=0xFFFF SRC=0x0002 P A Listen P A Node 3 P A Listen P A Node 4 P A Node 5 Backcast
Pollcast MAC=0x8765 Node 1 (Sender) A Event Pred Listen P A P+Pred Node 2 (Receiver) Event Pred P+Pred A Listen P A DST=0xFFFF SRC=0x0002 PRED=elephant MAC=0x8765 DST=0x8765 DST=0xFFFF SRC=0x0002 PRED=elephant MAC=0x8765 Node 3 (Sender) Event Pred Listen P+Pred A P A Backcast M. Demirbas, O. Soysal, and M. Hussain, “A Single-Hop Collaborative Feedback Primitive for Wireless Sensor Networks”, INFOCOM’08, April , 2008, Phoenix, AZ