E-MiLi: Energy-Minimizing Idle Listening in Wireless Networks Xinyu Zhang and Kang G. Shin Dept. of EECS Univ. Michigan Presented by: Fenggang Wu 2011/11/04 2 Author Name: Xinyu Zhang Gender: Male Birthyear: 1984 Place of Birth: Baotou, Inner-Mongolia, China Nationality: Chinese • HIT(01)-> Toronto(05)->U Michigan(08)>(11)Princeton NEC Lab 3 Agenda • Background • Related Work • Solution ▫ SRID ▫ oDoc • Evaluation • Conclusoin • Comments 4 Background • Scenario: ▫ WiFi AP-client senario • Idle listening (IL) in CSMA ▫ Why listening? (transmit, receive) ▫ Energy waste • Problem ▫ How to reduce the energy consumption in IL? 5 Existing Work • PSM ▫ Reducing IL energy cost by reducing IL time ▫ Yet IL still dominate clients’ energy consumption even with PSM enabled 80% busy network, 60% idle network • Another dimension ▫ Reducing IL energy cost by reducing IL power 6 The E-MiLi Approach • E-MiLi: Energy-Minimizing idle Listening • Key Idea: 2 ▫ 𝑃 ∝ 𝑉𝑑𝑑 𝑓 ▫ Reduce the IL energy cost by downclocking. • Challenge: ▫ Nyquist’s Theorem: 𝑓𝑠 > 2𝐵 ▫ How to put the radio in a subconscious mode while it can still respond to incoming packets properly? 7 Overview of E-MiLi What’s M-preamble How to detect it? When it is safe to downclock? 8 Solutions • SRID (Sampling Rate Invariant Detection) ▫ How to perceive arriving packet in low sampling rate? ▫ Key: separate detecting and decoding • Odoc (Opportunistic Downclocking) ▫ When safe to downclock? ▫ Key: predict the possibility of coming packet 9 SRID (1/3) • M-preamble Able to be detected arriving packet even when down sampled Duplicated Sequence (Gold Sequence) Embedded Address Check the self-correlation Switching Time 10 SRID (2/3) Self-correlation of 𝑇1 samples 𝑅 𝑘 Energy level of 𝑇1 samples 𝐸 𝑘 , 𝑖𝑓 𝑐𝑜𝑟𝑟𝑒𝑙𝑎𝑡𝑒𝑑 ≈ 0, 𝑖𝑓 𝑛𝑜𝑡 𝑐𝑜𝑟𝑟𝑒𝑙𝑎𝑡𝑒𝑑 11 SRID (3/3) 𝑅 𝑘 • 𝐻 < 𝑅 𝑘 𝐸 𝑘 −1 < 𝐻 −1 • Considering 𝐶 − 1 CGS • SNR squelch 𝐸 𝑘 , 𝑖𝑓 𝑐𝑜𝑟𝑟𝑒𝑙𝑎𝑡𝑒𝑑 ≈ 0, 𝑖𝑓 𝑛𝑜𝑡 𝑐𝑜𝑟𝑟𝑒𝑙𝑎𝑡𝑒𝑑 12 Address Allocation • 𝑛 as the embedded address ▫ Multiple user? ▫ What if 𝑛 is large? • Minimum-cost address sharing ▫ Multiple clients share a limited number of addresses ▫ Clients tx/rx more frequently share the addr. with less other clients • Broadcast address ▫ 𝑛 = 0, clients 𝑖 maintain a self-correlator with offset 𝑛𝐷𝑚 = 0 and 𝑛𝐷𝑚 = 𝑛𝑖 𝐷𝑚 ▫ For carrier sensing purpose, double preamble is needed. 13 Odoc (Opportunistic Downclocking) • Switching time 𝑇𝑐 (9.5𝜇𝑠~151𝜇𝑠) ▫ Compared to SIFS(9~20𝜇𝑠) • Arrival prediction (Outage prediction) ▫ Key intuition: Burstininess of WiFi ▫ Deterministic operation CTS, DATA, ACK are all deterministic operations after RTS ▫ Non-deterministic operation recorded if the arriving interval if shorter than 𝑇𝑐 14 Evaluation (1/5) • Two Questions: ▫ Packet detecting accuracy ▫ IL energy saving • Setups ▫ E-MiLi implementation on GNURadio ▫ Network level simulator on real WiFi trace 15 Evaluation (2/5) -Packet-Detection Performance Single link 16 Evaluation (3/5) -Packet-Detection Performance 9 USRP Testbed 17 Evaluation (4/5) – Energy Efficiency Real WiFi traffic Trace: SIGCOMM’08, PDX-powell 18 Evaluation (5/5) – Energy Efficiency Synthetic traffic NS-2: HTTP FTP traffic generator 19 Related Work • Energy-efficient protocols for WiFi ▫ PSM and its variants (can be integrated with E-MiLi) ▫ Wakeup on demand approach (second radio needed) • Packet detection ▫ Self-correlate (problem when down-sampled) ▫ Cross-correlate (down-sampled prob and offset-sensitive) • Dynamic voltage-frequency scaling ▫ In multi-processor design ▫ SampleWidth (tx and rx agree on same clock rate) 20 Conclusion • Goal: reducing the IL energy by downclocking ▫ Sampling-Rate Invariant packet Detector ▫ Opportunistic downclocking scheme • Future works ▫ ZigBee extension ▫ Changing working voltage 21 Comments • Pros: ▫ Novel idea ▫ Practical use • Cons: ▫ Overhead: doesn’t consider the delay caused by the additional preamble. • Take home message: ▫ From simple questions ▫ Learn from real practice ▫ Paper writer skill 22/20 Thank you for your attention! Questions? 23 Existing Approach • PSM ▫ What’s PSM: Reducing idle listening time ▫ How doesn’t work: