Design and Evaluation of a Versatile and Efficient

  • Slides: 50
Download presentation
Design and Evaluation of a Versatile and Efficient Receiver-Initiated Link Layer for Low-Power Wireless

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

A sender-initiated MAC: Sender triggers communications by transmitting a data Sender Listen D Receiver Listen D 2

Low-power listening (LPL) with a sender-initiated MAC Receiver Sender D Tlisten Preamble D Noise

Low-power listening (LPL) with a sender-initiated MAC Receiver Sender D Tlisten Preamble D Noise Overhearing/noise adds significant unpredictability to node lifetime 3

A receiver-initiated MAC: Receiver triggers exchange by transmitting a probe Sender Receiver Listen P

A receiver-initiated MAC: Receiver triggers exchange by transmitting a probe Sender Receiver Listen P D 4

Low-power, receiver-initiated services offer many benefits over sender-initiated ones • Handle hidden terminals better

Low-power, receiver-initiated services offer 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. , Hot. Nets’ 08) 5

Low-power, receiver-initiated MACs face a number of drawbacks as well • Probe (LPP) is

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 6

The probe incompatibility mess • • • Pollcast Backcast LPP RI-MAC Probes Probes use

The probe incompatibility mess • • • Pollcast Backcast LPP RI-MAC Probes Probes use hardware acknowledgements do not use hardware acknowledgements include only receiver-specific data include sender-specific data too include contention windows do not include contention windows 7

Is it possible to design a general-purpose, yet efficient, receiver-initiated link layer? 8

Is it possible to design a general-purpose, yet efficient, receiver-initiated link layer? 8

Most consequential decision a low-power MAC makes: stay awake or go to sleep? Sender-Initiated:

Most consequential decision a low-power MAC makes: stay awake or go to sleep? Sender-Initiated: Channel Sampling RX D Tlisten TX Preamble D Noise Receiver-Initiated: Channel Probing Listen TX RX P P DATA 9

Asynchronous network wakeup 1 2 3 Node 1 Node 2 Node 3 Node 4

Asynchronous network wakeup 1 2 3 Node 1 Node 2 Node 3 Node 4 Node 5 Listen P D 4 5 Listen P D Listen P D P D P D frame collision PFN? PFP? 10

Wait, not so fast! Node 5 might receive a response • Power capture: One

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… 11

Solving the synchronization problem with Backcast • A link-layer frame exchange in which: –

Solving the synchronization problem with Backcast • A link-layer frame exchange in which: – – – rk o A single radio PROBE frame transmission w Triggers zero or more identical ACK frames ght i Transmitted with tight timing tolerance a m de So there is minimum inter-symbol interference i s iat h And ACKs collide non-destructively t the receiver e ic t p k s e TX b ld u o h s RX ou t a h t l a P A P A Y TX P. Dutta, R. Musaloiu-E. , I. Stoica, A. Terzis, “Wireless ACK Collisions Not Considered Harmful”, Hot. Nets-VII, October, 2008, Alberta, BC, Canada 12

Outline • Introduction • Motivation • What is A-MAC? – – • • Protocol

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? 13

A-MAC: An 802. 15. 4 receiver-initiated link layer RXTX turnaround time: 192 µs Max

A-MAC: An 802. 15. 4 receiver-initiated link layer RXTX turnaround time: 192 µs Max data packet 4. 256 ms Sender Listen P A DATA P Receiver P A DATA P ACK transmission time 352 µs 14

A-MAC’s contention mechanism Sender Listen Receiver Sender Listen P A D P-CW BO P

A-MAC’s contention mechanism Sender Listen Receiver Sender Listen P A D P-CW BO P A D P-CW D Backcast frame collision 15

A-MAC’s parallel multichannel data transfers use control, data (1), and data (2) channels Sender

A-MAC’s parallel multichannel data transfers use control, data (1), and data (2) channels Sender 1 Listen P A DATA P Receiver 1 P A DATA P Sender 2 Listen P A DATA P Receiver 2 P A DATA P 16

Outline • • Introduction Motivation What is A-MAC? How is it used? [Lacking hardware

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? 17

Unicast Node 1 (Sender) Node 2 (Receiver) Node 3 (Sender) DST=0 x 0002 SRC=0

Unicast Node 1 (Sender) Node 2 (Receiver) Node 3 (Sender) DST=0 x 0002 SRC=0 x 0001 SEQ=0 x 23 MAC=0 x 8002 Listen MAC=0 x 8002 P A D P DST=0 x 8002 SRC=0 x 0002 Listen L DST=0 x 8002 SRC=0 x 0002 ACK=0 x 0023 FRM=0 x 0001 P A D P-CW BO P A D P-CW D MAC=0 x 8002 Listen Backcast frame collision 18

Broadcast auto-ack=on addr-recog=off TX 1 RX 2 RX 3 RX 4 Listen DST=0 x

Broadcast auto-ack=on addr-recog=off TX 1 RX 2 RX 3 RX 4 Listen DST=0 x 0002 SRC=0 x 0001 SEQ=0 x 23 off on off P A D P Listen DST=0 x 8002 SRC=0 x 0002 ACK=0 x 0023 FRM=0 x 0001 P A D P Backcast Listen P A D P Backcast 19

Wakeup Node 1 Node 2 Listen P A Listen P A P A P

Wakeup Node 1 Node 2 Listen P A Listen P A P A P A DST=0 x. FFFF SRC=0 x 0002 Node 3 Node 4 Node 5 Listen P A Listen Backcast 20

Pollcast MAC=0 x 8765 Node 1 (Sender) Event Pred Listen P A P+Pred A

Pollcast MAC=0 x 8765 Node 1 (Sender) Event Pred Listen P A P+Pred A Node 2 (Receiver) Event Pred Listen P A P+Pred A Node 3 (Sender) DST=0 x. FFFF SRC=0 x 0002 PRED=elephant MAC=0 x 8765 Event Pred Listen P A P+Pred 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 21

Outline • • • Introduction Motivation What is A-MAC? How is it used? How

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? 22

Evaluating Backcast: equal-power, equal-path delay Setup Methodology • • Platform: Telos mote Protocol: IEEE

Evaluating Backcast: equal-power, equal-path delay Setup Methodology • • Platform: Telos mote Protocol: IEEE 802. 15. 4 Radio: Texas Instruments CC 2420 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 23

As the number of colliding ACKs goes from one to eight… Median RSSI increases

As the number of colliding ACKs goes 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 24

Backcast scales to a large number of nodes 25

Backcast scales to a large number of nodes 25

The effect of interference on idle listening: Sampling, Probing, and Backcast Background noise/traffic/noise in

The effect of interference on idle listening: Sampling, Probing, and Backcast Background noise/traffic/noise in an office environment Channel 18 Channel 26 Sampling Probing Backcast 26

Idle listening cost skyrockets under heavy interference 27

Idle listening cost skyrockets under heavy interference 27

A-MAC offers modest incast performance R S S Collision Domain 28

A-MAC offers modest incast performance R S S Collision Domain 28

A-MAC supports multiple parallel unicast flows S R S R Collision Domain 29

A-MAC supports multiple parallel unicast flows S R S R Collision Domain 29

A-MAC wakes up the network faster and more efficiently than LPL (Flash) flooding Faster

A-MAC wakes up the network faster and more efficiently than LPL (Flash) flooding Faster Wakeup h) s a Fl L( P L AC A-M Fewer Packets L LP s a l F h) ( A-MAC 30

A-MAC wakeup works well at low duty cycles Tprobe = 4, 000 ms Pavg

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 31

Supporting the Collection Tree Protocol (CTP), A-MAC beats LPL on nearly every figure of

Supporting the Collection Tree Protocol (CTP), A-MAC beats LPL on nearly every figure of merit R S S S N = 59 S Tdata = 60 s Tprobe = 500 ms S 32

Outline • • Introduction Motivation What is A-MAC? How is it used? How well

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? 33

Energy cost of A-MAC primitives: probe, receive, transmit, and listen 34

Energy cost of A-MAC primitives: probe, receive, transmit, and listen 34

With hardware support, probes would cost at least 40% less energy 0. 1: 2:

With hardware support, probes would cost at least 40% less energy 0. 1: 2: 3: 4: 5: 6: 7: 8: 9: Sleep Start Radio (41 µJ) Ld Prb (61 µJ) Ld Done (23 µJ) Prb Alarm (6 µJ) Start TX (56 µJ) ACK Timer (30 µJ) ACK T’out (26 µJ) Stop Radio (9 µJ) Stopped (13 µJ) 0 1 2 34 5 6 78 9 35

The cost of a Backcast can be less than 1 ms (for IEEE 802.

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 36

Outline • • Introduction Motivation What is A-MAC? How is it used? How well

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 37

Backcast Limitations • Protocol support (802. 15. 4 supports) – Superposition semantically valid for

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 (CC 2420 supports) – – – Broadcast 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 38

Backcast degrades when path delay differences exceeds approximately 500 ns (500 ft free space)

Backcast degrades when path delay differences exceeds approximately 500 ns (500 ft free space) 39

A-MAC single channel PDR degrades with high node density and high probe frequency S

A-MAC single channel PDR degrades with high node density and high probe frequency S S S R S S S S Collision Domain 40

Conclusion • Backcast provides a new synchronization primitive – – Common abstraction underlying many

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 41

Acknowledgements 42

Acknowledgements 42

Questions? Comments? Discussion? 43

Questions? Comments? Discussion? 43

Backup Slides 44

Backup Slides 44

A-MAC’s synchronization primitive Sender Receiver Sender P A P A P Probe transmission A

A-MAC’s synchronization primitive Sender Receiver Sender P A P A P Probe transmission A ACK transmission P Probe reception A ACK reception 45

The Query/Response exchange can be mapped to “acknowledged anycast” semantics 1 2 3 dst=broadcast

The Query/Response exchange can be mapped to “acknowledged anycast” semantics 1 2 3 dst=broadcast 4 5 src=<doesn’t matter> 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) ACK • 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” 46

Backcast using a link-layer DATA/ACK frame exchange Receiver D A Sender D A •

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 47

Broadcast auto-ack=on addr-recog=off TX 1 RX 2 RX 3 RX 4 Listen DST=0 x

Broadcast auto-ack=on addr-recog=off TX 1 RX 2 RX 3 RX 4 Listen DST=0 x 0002 SRC=0 x 0001 SEQ=0 x 23 off on off P A D P Listen DST=0 x 8002 SRC=0 x 0002 ACK=0 x 0023 FRM=0 x 0001 P A D P Backcast Listen P A D P Backcast 48

Wakeup Node 1 Node 2 Listen P A Listen P A P A P

Wakeup Node 1 Node 2 Listen P A Listen P A P A P A DST=0 x. FFFF SRC=0 x 0002 Node 3 Node 4 Node 5 Listen P A Listen Backcast 49

Pollcast MAC=0 x 8765 Node 1 (Sender) Event Pred Listen P A P+Pred A

Pollcast MAC=0 x 8765 Node 1 (Sender) Event Pred Listen P A P+Pred A Node 2 (Receiver) Event Pred Listen P A P+Pred A Node 3 (Sender) DST=0 x. FFFF SRC=0 x 0002 PRED=elephant MAC=0 x 8765 Event Pred Listen P A P+Pred 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 50