An Adaptive Link Layer for Range Diversity in Multi-radio Mobile Sensor Networks Jeremy Gummeson Deepak Ganesan Mark D. Corner Prashant Shenoy UMass Computer Science Department Mobile Sensor Networks Mobile entities equipped with sensors, radios Exchange data with peer mobile nodes, infrastructure basestation High-power long-range Radio maximizes communication opportunities, but expensive at short-range Mobility Patterns difficult to predict Tracking applications require small form factor UMass Computer Science Department 2 A Spectrum of Radio Choices Existing radios optimized for short or long range: • Long Range, Low bit rate, Low Energy Efficiency • Short Range, High bit rate, Higher Energy Efficiency Designer chooses efficiency or range Common Small Form Factor Radios Radio Bandwidth Energy/bit Range CC2420 250 kbps 208nJ/bit 80m 802.11b 11Mbps 120nJ/bit 100m XE1205 38.1kbps 5276nJ/bit 800m Xtend 9.6kbps 380.2uJ/bit 2-3km UMass Computer Science Department 3 Approach Design a node with heterogeneous radios to exploit short range efficiency and long range connectivity Use unified link layer to manage radios and react to channel and mobility dynamics UMass Computer Science Department 4 Contributions Our System makes the following contributions to Mobile MultiRadio Sensors Research: 1. Arthropod: A low-power, multi-radio sensor platform 2. A machine-learning Algorithm that uses link-layer statistics to select between radio interfaces 3. A multi-radio switching protocol that provides robust transitions and manages radio state UMass Computer Science Department 5 Outline Motivation System Design Implementation Results Conclusions UMass Computer Science Department 6 Arthropod: A Multi-Radio Sensor Platform Hardware platform consists of: MSP430 MCU, CC2420 radio, and XE1205 radio: • Expansion board provides existing platform Tinynode with CC2420 radio • Board connects CC2420 to unused SPI bus and GPIO pins. Existing TinyOS-2.x drivers modified for use with new hardware Application Unified Link Layer Hardware Prototype UMass Computer Science Department CC2420 MAC XE1205 MAC CC2420 Radio XE1205 Radio System Block Diagram 7 Utilizing Multiple Radios Problem: Need to determine energy-optimal radio at given time Approach: Unified link-layer presents multiple radios as one entity Two subcomponents: • Q-Learning Algorithm: Observe MAC retransmissions, learn/choose optimal radio interface • Switching Protocol: Manage radio power states, coordinate handoffs Send Receive Switching Protocol Q-Learning Algorithm CC2420 MAC XE1205 MAC UMass Computer Science Department decision CC2420 MAC XE1205 MAC 8 Q-Learning Goal: Choose action a, arrive in state with maximal Q value In multi-radio context, Q represents learned energy needed to send packet on given interface at particular power-level a represents decision to send packet using particular interface/power combination After transmission, receive reward r, where i represents retransmissions: r[i] = -(i*PacketSize*ByteTime*TxPower + AckTimeOut*RxPower) + RxPower*AckRTT + PacketSize*ByteTime*TxPower r used to update Q using simple rule with fixed parameters Periodically explore alternate interface/power-levels by choosing random action a; allows transitions when conditions improve UMass Computer Science Department 9 Multi-Radio Switching Protocol Q-Learning finds optimal interface/power level, need handoff between radios non-trivial problem: radio transitions occur during periods of high loss Need to handle: • • State synchronization problems between sender and receiver Graceful disconnections Solution: • • Embed control flags that negotiate handoffs Handoff state temporarily powers both radio receivers; Minimize time spent during handoff to minimize overhead UMass Computer Science Department 10 Switching Protocol Description Sending node drives state transitions at receiver: 1. Asserting EXPLORE flag in sent packet causes both radio interfaces to become active until timeout 2. Consecutive packets may be sent on either interface; continuously asserting EXPLORE will keep both interfaces active 3. Alternatively, the next packet may be sent with HIGH_ON or LOW_ON flag asserted to commit receiver to one particular interface 4. Two consecutive timeouts force receiver into Low Power Listen (LPL) on long range interface; may proactively enter LPL by asserting END_BLOCK EXPLORE || Timeout Low On EXPLORE Handoff LOW_ON High On HIGH_ON || Timeout Idle UMass Computer Science Department 11 Evaluation Methodology 1. Trace-driven simulations using real datasets: Environment Mobility Pattern Example Scenario urban-indoor Continuous w/ obstruction People moving in a building urban-outdoor Continuous; Partial Line of Sight Moving vehicle urban-outdoor Nomadic Bus w/ stops foliage Nomadic Animals visiting habitat 2. Results from software implementation: • Show performance of link layer software implementation • Validate simulated link layer performance for indoor continuous dataset UMass Computer Science Department 12 Trace Driven Simulation Results Per Packet Energy Consumption Fraction of Lost Packets Multi-Radio approach improves per packet energy consumption while only marginally increasing packet loss UMass Computer Science Department 13 Multi-Radio Power Control Results Additional simulation looks at power control across radios: • Data set uses max/min Tx power settings on each radio Summary of results for each power level Cumulative Energy Consumption for Single and Multi-power level strategies Radio/power level % packets lost Energy Consumed XE1205 @0dBm 4.24 .659mJ/Tx Success XE1205 @15dBm 0 .925 mJ/Tx Success CC2420 @-25dBm 37.01 1.1mJ/Tx Success CC2420 @0dBm 35.45 1.2 mJ/Tx Success Q-Learning 3.53 .430 mJ/Tx Success Unified Link Layer successfully tracks energy-minimal radio/power setting UMass Computer Science Department 14 Implementation Loss Rates and Energy/Packet TinyOS-2.x software implementation for Arthropod shows algorithm running online; measures performance of radio switching protocol Recreate mobility pattern of indoor continuous trace; implementation results compared to single radio performance from indoor continuous Summary of Implementation Results Trace Type XE1205 Utilization CC2420 Utilization Packets Lost Energy Consumed Multi-Radio Implementation 28.97% 71.03% 3.95% .48mJ / Tx Success XE1205@15dBm 100% 0 .6% 1.0mJ / Tx Success CC2420@0dBm O% 100% 43.0% 1.6mJ / Tx Success Multi-Radio implementation loses more packets, consumes substantially less energy UMass Computer Science Department 15 Breakdown of Receiver Energy Costs Energy Spent during different Rx States Multi-Radio approach uses significantly less power than an XE1205 only implementation; Loss rate comparable to the CC2420 UMass Computer Science Department 16 Conclusions Showed hardware implementation of multi-radio sensor node Arthropod Designed and tested a unified link layer for multi-radio hardware: • • Uses learning algorithm and MAC statistics to select radio interace Implemented switching protocol to handoff between radios Evaluated link-layer via trace driven simulation and algorithm running online: • Considerably more energy efficient for different mobility patterns, while only marginally increasing losses UMass Computer Science Department 17 Related Work Existing Multi-Radio Systems: Separate Radio Roles: • • Wake-On-Wireless: low-power, low-bandwidth radio wakes up high-power, high-band-width radio (Agarwal, 2007) DieselNet Throwboxes: Long-range radio maximizes utility of short-range, high-bandwidth radio in a mobile scenario (Banerjee, 2007) Dynamic Radio Selection: • • Mobile Access Router: Use heterogeneous radios to maximize bandwidth and minimize stalled transfers; neglects energy (Rodriguez, 2004) Coolspots: Use Bluetooth for communication when available, otherwise uses 802.11 (Pering, 2006) Mesh Networking: • MR-LQSR: Use Multiple Radios per mesh node, makes channel assignment more effective (Draves, 2004) UMass Computer Science Department 18 Thank You Questions? UMass Computer Science Department 19 Sender State Machine States represent sender’s view of the receiver Intermediate handoff state used to activate alt. radio Transition out of IDLE requires wakeup packet Receiver -> Both radios active during handoff UMass Computer Science Department 20 Receiver State Machine Used to manage radio receiver power states Flags used to coordinate handoff between radios Two Consecutive Timeouts result in transition to IDLE state May proactively switch to IDLE state at end of block transfer UMass Computer Science Department 21 Research Contributions A prototype low-power multi-radio hardware system Develop low-overhead techniques for dynamically switching between radio interfaces Evaluation methodologies for showing energy performance benefits of multi-radio systems UMass Computer Science Department 22 Current Strategies Communication is Expensive! Active Power Consumption (mW) Sleep Mode Power Consumption (mW) CC2420 Radio 59.1 (Rx) .02 XE1205 Radio 65.4 (Rx) .03 MSP430 MCU 3 .015 Use communication resources intelligently: • Minimize radio time spent in active mode • Send data when channel conditions are “good” UMass Computer Science Department 23 Q-Learning Q-Learning is a reinforcement-learning technique used for decisionmaking by agents in an unknown environment: • A Matrix Q contains the accumulated reward by an agent in a given state • The agent has several choices of action and chooses the action a such that the Q-value of the arrival state is maximized. • After Taking action a, the agent receives a reward r and adjusts Q with an update rule defined by parameters α and γ • The agent will also periodically take a random action, ε, which allows unexplored state to be reached Formal definition of Q-Learning UMass Computer Science Department 24 More Q-Learning In the context of a multi-radio system: • • • • • Each state S is an individual radio/power-level combination An action a corresponds to sending a packet over a given radio interface. Reward r corresponds to the negative energy used for sending the packet. The amount of energy used is defined by a combination of radio hardware characteristics and channel dynamics. Q represents cumulative energy consumption across multiple transmission attempts. α and γ are used to control how quickly Q is updated as well as limiting the reward value r for staying in a given state. ε defines when the alternate radio interface should be explored. In a multi-radio scenario, it does not make sense to take a random action UMass Computer Science Department 25 Defining reward value r The success of the Q-Learning algorithm depends heavily on r: r is defined as energy required to send a packet. Energy is calculated via MAC layer statistics • The following equation shows how a reward is calculated, where i is the number of packet retransmissions: r[i] = -(i*PacketSize*ByteTime*TxPower + AckTimeOut*RxPower) + RxPower*AckRTT + PacketSize*ByteTime*TxPower • A radio-agnostic quantity, energy, allows head-to-head comparison of performance across radios. Maximizing Q is synonymous with minimizing energy • Congestion backoffs also contribute to power consumption, but not in practice • UMass Computer Science Department 26