Transcript Slide 1
B-MAC Factored MAC protocol exposing control of sub-primitives Joe Polastre <[email protected]> Outline Factored MAC protocol design Information sharing with higher layers Control and reconfiguration of link protocol Tradeoffs in link protocols Feedback mechanism Link Abstraction for Sensor Networks 2 B-MAC Design Principles Backoff/Timeouts Duty Cycle Acknowledgements Feedback to higher protocols Minimal implementation Minimal state Primary Goals Reconfigurable MAC protocol Flexible control Hooks for sub-primitives Low Power Operation Effective Collision Avoidance Simple/Predicable Operation Small Code Size Tolerant to Changing RF/Networking Conditions Scalable to Large Number of Nodes Our implementation is on Mica2 motes with CC1000 3 B-MAC Link Protocol Interaction Reconfiguration and control of link layer protocol parameters Ability to choose tradeoffs – “knobs” Fairness, Latency, Energy Consumption, Reliability Power consumption estimation through analytical and empirical models Acknowledgements, Backoff/Timeouts, Power Management, Hidden Terminal Management Feedback to network protocols Lifetime estimation Mechanisms to achieve network protocols’ goals 4 S-MAC Node 1 sleep listen sync Designed for a general set of Node 2 workloads User sets radio duty cycle SMAC takes care of the rest so you don’t have to Integrates higher layer Schedule functionality into link protocol listen sleep listen sleep sync Traditional monolithic protocol design Synchronized protocol with periodic listen periods “Black Box” design sync sync Ye, Heidemann, and Estrin, INFOCOM 2002 listen sleep 1 Schedule 2 T-MAC [van Dam and Langendoen, Sensys 2003] Reduces power consumption by returning to sleep if no traffic is detected at the beginning of a listen period Wei Ye, USC/ISI 5 Low Power Listening (LPL) Higher level communication scheduling Properties Overhear all data packets in cell Duty cycle depends on number of neighbors and cell traffic Node 2 sleep sleep TX sleep RX sleep sleep wakeup Node 1 wakeup wakeup Wakeup time fixed “Check Time” between wakeups variable Preamble length matches wakeup interval wakeup wake up, sample channel, sleep wakeup Example of a typical low level protocol mechanism Periodically wakeup Energy Cost = RX + TX + Listen Start by minimizing the listen cost wakeup time sleep time 6 Effect of LPL Check Interval Effect of sample period on node duty cycle Single hop data reporting application Higher sampling rate Higher traffic in a cell Higher duty cycle Optimize the check time to the traffic Application knows sample rate (packet generation rate) 4 1-min sample period 5-min sample period 10-min sample period 20-min sample period 3.5 3 Lifetime (years) 2.5 2 1.5 1 0.5 0 0 50 100 Check Time (ms) 150 200 7 Effect of Neighborhood Size Neighborhood Size affects amount of traffic in a cell Network protocols typically keep track of neighborhood size Bigger Neighborhood More traffic Effect of neighborhood size on node duty cycle 180 0.09 160 0.08 Effective duty cycle (%) 25 0. 0.1 140 120 5 0. 100 75 0. 1 1.25 1.5 80 2 2.5 Channel Activity Check Interval (ms) Expected Lifetime Contour 200 0.07 0.06 0.05 0.04 60 0.03 40 0.02 20 0.01 0 0 20 40 60 Neighborhood size 80 100 200ms check interval 100ms check interval 50ms check interval 25ms check interval 10ms check interval 0 0 20 40 60 Number of neighboring nodes 80 100 8 Factored vs Layered Protocols Experimental Setup: 16000 1 Factored link layer never worse than traditional approach n nodes send as quickly as possible to saturate the channel Often much better Flexible configuration yields efficient: Reliable transport (Acks) Hidden Terminal support (RTS-CTS) Protocol ROM 2 10 14000 3 9 0 8 12000 4 topology 7 5 6 B-MAC B-MAC w/ ACK 1 B-MAC w/ RTS-CTS S-MAC unicast 0.9 S-MAC broadcast Channel Capacity 0.8 0.7 10000 0.6 8000 0.5 0.4 6000 RAM B-MAC 3046 166 B-MAC w/ ACK 3340 168 B-MAC w/ Duty Cycling 4092 170 B-MAC w/ DC & ACK 4386 172 S-MAC 6274 516 0.3 4000 0.2 2000 0 0 0.1 5 10 Number of nodes 15 0 20 9 Percentage of Channel Capacity Throughput of a congested channel Throughput (bps) Fragmentation Support Factored vs Layered Protocol S-MAC RTS-CTS Fragmentation Support B-MAC 0.4 0.35 0.3 Network protocol sends initial data packet with number of fragments pending Disable backoff & LPL for rest of fragments Mean energy consumption per byte (10 second sample period) 0.4 B-MAC w/ no app control B-MAC w/ app control 0.35 S-MAC T-MAC (simulated) Optimal Schedule 0.3 0.25 0.2 0.15 0.1 A E C B D Mean energy consumption per byte (100 second sample period) B-MAC w/ no app control B-MAC w/ app control S-MAC T-MAC (simulated) Optimal Schedule 0.25 Sometimes the black box is worse than the naïve approach 0.2 0.15 0.1 0.05 0.05 0 0 Energy per byte (mJ/byte) Energy per byte (mJ/byte) Measure energy consumption at C (bottleneck node) Minimizing power relies on controlling link layer primitives 50 100 150 Fragment size (bytes) 200 0 0 250 50 100 150 Fragment size (bytes) 200 250 10 Tradeoffs: Latency for Energy Factored vs Traditional Protocol Effect of latency on mean energy consumption 550 500 11 10 9 3 2 1 B-MAC S-MAC Always On 450 400 350 Energy (mJ) Assume a multihop packet is generated every 10 sec 300 250 200 Delay the packet S-MAC Default Configuration 150 100 50 0 0 2000 4000 6000 Latency (ms) 8000 10000 No queuing delay allowed S-MAC sleeps longer between listen period B-MAC increases the check interval and preamble length B-MAC Default Configuration 11 Tradeoffs: Throughput for Energy Factored vs Layered Protocol 10 node single hop network Effect of constant throughput on power consumption 50 As throughput increases B-MAC reduces check interval as traffic increases S-MAC uses optimal duty cycle Protocol overhead causes energy to increase linearly B-MAC S-MAC Always On 45 Power consumed (mW = mJ/second) Increase transmission rate Deliver each packet within 10 sec Measure average power consumption per node 40 1 10 35 30 25 2 3 topology 9 8 4 5 7 6 20 15 10 5 0 0 50 100 150 Throughput (bits/second) 200 250 12 Surge Application Data Set Node Locations: 6 5 4 13 2 Base Run B-MAC in a real world application 1 3 8 days/40000 data readings in deployment 11 10 12 Data reporting every 3 minutes B-MAC check:sleep ratio: 1:100 Jason Hill’s ReliableRoute 7 Surge Multihop Data Collection includes: Reliability improvements to MintRoute Turn on link layer acks in B-MAC Add retransmissions 8 85 feet 9 Power metering in the link protocol Simple routing protocol optimization Turn off long preambles when sending to the base station (one hop away) Base station always on Network configuration images from Jason Hill 13 Surge Application Network power consumption of a factored link protocol Duty cycle dependant on position in network Leaf nodes have least amount of traffic Middle nodes forward leaf node traffic Nodes 1 hop from base station benefit 3 from reconfiguration 2.5 Average Duty Cycle 2.5 Duty Cycle (%) 2 1.5 Duty Cycle (%) Effect of node depth on duty cycle 3 2.35% worst case node duty cycle Effect of number of transmissions on duty cycle Forwarded <10,000 packets 2 1 hop from base station 1.5 • Forwarded ~35,000 (85%) packets • Duty cycle 75% higher without optimization 1 Leaf Nodes 1 0.5 0.5 0 0 1 2 3 Number of hops 4 5 0 0 0.5 1 1.5 2 2.5 Number of packets forwarded or sent 3 3.5 144 x 10 Tradeoffs: Latency vs Reliability Surge Application Latency of B-MAC in a monitoring application 1100 Reliability 1000 98.5% of all packets delivered Some nodes achieved an astounding 100% delivery …but communication links are volatile Retransmissions required After n retries, give up and pick a new parent Actual latency Follows expected latency from microbenchmark Retransmission delay Contention delay (infrequent) 900 800 700 Latency (ms) B-MAC Average Latency Std Dev B-MAC Average Latency B-MAC Minimum Expected Latency 600 500 400 300 200 100 0 0 1 2 3 4 Number of hops 5 6 15 Lifetime Model B-MAC Analytical Model Worst case analysis Calculate Power consumption Verify Neighborhood size Sample rate Minimize Evaluate Optimum LPL parameters Preamble length Effect of turning knobs Knowledge from network protocols ti: LPL check interval r: Sample rate (packet generation rate) n: Neighborhood size Determine t: Fraction of each second spent on each operation E: Energy consumed by each operation per second Experimental operation matches analytical calculations Runtime Feedback mechanism 16 Lifetime Model min(E) Erx Etx Elisten Esleep Notation Parameter r Sample Rate (packets/sec) Transmit ttx r ( Lpreamble Lpacket )ttxb n Neighborhood size Lpreamble Preamble length (bytes) Lpacket Packet length (bytes) Etx ttxctxbV csleep Current : Sleep (mA) crxb Current : Rx one byte ctxb Current : Tx one byte Cbatt Capacity : Battery (mAh) V Voltage ti Time : Radio sampling interval (s) tstartup Time : Radio startup trxb Time : Rx one byte trx Time : Rx per second ttxb Time : Tx one byte ttx Time : Tx per second tl Time : Lifetime (s) Receive trx nr ( Lpreamble Lpacket )trxb Erx trx crxbV 17 Lifetime Model min(E) Erx Etx Elisten Esleep LPL Sampling Esample 17.3J 1 Elisten Esample ti Sleep t listen t startup 1 ti t sleep 1 t rx t tx t listen E sleep t sleep c sleep Notation Parameter r Sample Rate (packets/sec) n Neighborhood size Lpreamble Preamble length (bytes) Lpacket Packet length (bytes) csleep Current : Sleep (mA) crxb Current : Rx one byte ctxb Current : Tx one byte Cbatt Capacity : Battery (mAh) V Voltage ti Time : Radio sampling interval (s) tstartup Time : Radio startup trxb Time : Rx one byte trx Time : Rx per second ttxb Time : Tx one byte ttx Time : Tx per second tl Time : Lifetime (s) 18 Lifetime Model min(E) Erx Etx Elisten Esleep The total energy, E, can be used to calculate the expected lifetime of the system Cbatt V tl 60 60 E Notation Parameter r Sample Rate (packets/sec) n Neighborhood size Lpreamble Preamble length (bytes) Lpacket Packet length (bytes) csleep Current : Sleep (mA) crxb Current : Rx one byte ctxb Current : Tx one byte Cbatt Capacity : Battery (mAh) V Voltage ti Time : Radio sampling interval (s) tstartup Time : Radio startup trxb Time : Rx one byte trx Time : Rx per second ttxb Time : Tx one byte ttx Time : Tx per second tl Time : Lifetime (s) 19 Link Abstraction in Wireless Sensor Networks What have we learned from factored protocols? Integration of routing and organization protocols with link protocols not necessary Why do current WSN protocols integrate? IP Nets: Each hop has lots of volatility – keep state at every hop Local per-link decisions to save power IP model forces policy and mechanism to be integrated Negates nice properties of IP abstraction: No protocol interchangeability, inefficient large implementations A new abstraction must describe what the system is doing at each link Aggregation Routing Services “policy” WSNs: Network protocols setting these parameters Transport protocols set fragmenting, addressing type of service, retransmission etc Applications Dynamically change link protocol mechanism Meeting point between link and routing layers Separates link mechanisms from routing/network policies Link Abstraction MAC Protocols Physical Layers “mechanism” Physical Medium 20 Link Abstraction B-MAC shows the need for bidirectional information flow with network protocols Exposing control is critical for long lived operation Enable link protocol interchangeability underneath optimized network protocols (routing, aggregation, organization, etc) Smallest, most powerful primitives to execute higher level protocols efficiently Proposed abstraction includes 3 things: Control of link layer protocol parameters Ability to choose tradeoffs – “knobs” Power consumption feedback model Next steps: An RFC describing the abstraction in detail (this summer) Implementation and use of abstraction in TinyOS with B-MAC/802.15.4 Applications Aggregation Routing Services “policy” Link Abstraction MAC Protocols Physical Layers “mechanism” Physical Medium 21 Conclusions Coordination with higher protocols is essential for long lived operation Feedback allows protocols to make informed decisions Monolithic protocols can benefit from factoring— but reconfiguration may prove costly Traditional abstraction at the network layer doesn’t fit sensor networks—need a new abstraction at the link layer 22 Backup Slides WooMAC Woo and Culler, Mobicom 2001 Move protocol knowledge into the MAC implementation ARC Protocol Change the rate of originating traffic Allows route-through traffic to reach its destination Tradeoff everything else for fairness (very effective) Adaptive Backoff Change CSMA backoff depending on type of traffic Broadcast Multihop 24 UNPF Ding, Silvalingam, Kashyapa, and Chuan, Vehicular Technology Conference, 2003 Unified Network Protocol Framework (UNPF) Network organization protocol, Medium access control (MAC) protocol, and Routing protocol. Integrated network and link layers Write new UNPF implementations for each application Application Routing Organization UNPF Link Abstraction Protocol Routing, Organization, and MAC PHY -or Trust the larger “black box” 25 Other “Black Box” Protocols Energy-Aware TDMA-Based MAC TRAMA: Collision Free Protocol Rajendran, Obraczka, Garcia-Luna-Aceves, SenSys 2003 Keep track of 2-hop neighbors, schedule traffic, eliminate collisions Adaptively change schedule as “inter-arrival” message time changes integrate organization protocol, assume traffic pattern Sift: Event Driven MAC Protocol Arisha, Youssef, Younis, IMPACCT 2002 Gateway node centrally manages sensor network clusters integrate organization protocol Jamieson, Balakrishnan, Tay, MIT TR 2003 Small and fixed contention window to save energy Probabilistically pick an empty slot Moral: encourage protocol designers to expose configuration and tradeoffs (Sift even has a power consumption model) 26 Tradeoffs: Latency vs Reliability Factored vs Traditional Protocol 11 Additional protocol overhead adds latency B-MAC If multihop packet Wait >= 2 packet times to send next message Implicit reservation and hidden terminal support 2500 2 1 B-MAC no sleep B-MAC 100ms check B-MAC 100ms check /w ACK S-MAC no sleep S-MAC 10% adaptive 2000 S-MAC 3 Mean message latency from each hop to the sink Latency (ms) 9 3000 Choose applicable overhead ACK RTS-CTS (S-MAC) Synchronization 10 Reserves channel at each hop 1500 1000 500 0 1 2 3 4 5 6 Number of Hops 7 8 9 10 27 Duty Cycle Calculation Check time is 2.5ms If check interval is 250ms, duty cycle is 1% right? Wrong! Duty cycle is amortized cost of waking up energy consumption to sleep energy consumption Breakdown: Full power (e) Half power (b,d,f) 600ms Low power (c) 250ms 1500ms Equivalent to being at full power for 800ms 28 IEEE 802.2 “Logical Link Control” Request IEEE Standard, 1998 Data transfer interface Establishes connections “Control” path ends at 802.2 Doesn’t pass down to underlying link protocols Doesn’t expose underlying capabilities of 802.3, 802.11, etc Instance specific code above 802.2 Linux 2.6.6 implementation Indication Service User Service Provider (802.2 LLC) Service User Response Confirm 802.2 Logical Link Control 802.1 Bridging / Convergence Used as a programming interface, not an abstraction Heavyweight: 9008 lines of source, 28kB compiled 802 .3 802 .11 802 .15 802 .16 Not an effective abstraction and not flexible 29 IEEE 802.15.4 “Low Rate Wireless Personal Area Networks” IEEE Standard, 2003 Designed for low power, low data, high density rate wireless networks Services may interface with either 802.2 or directly with the MAC protocol 802.15.4 has lots of extra functionality that may never be used: “Upper Layers” WSN “Upper Data Layers” Link Layer Abstraction x 802.2 802.1 Enable the development of a “lightweight 802.15.4 MAC” Use 15.4 hardware without using the 15.4 MAC protocol (eg: B-MAC, S-MAC, etc) 802.15.4 MAC Other MAC 802.15.4802.15.4 PHY PHY 30