Wireless Sensor Networks Power Management Professor Jack Stankovic Department of Computer Science University of Virginia Critical Issue – Cross Cuts Problem Statements • Increase the lifetime of the system while meeting functional requirements. – Including communication coverage • How to provide sensing coverage for a sensor network in a power-efficient way? • MANET – how to maintain communication coverage Questions? • Will solar cells solve the problem? • Will energy scavenging solve the problem? • Will batteries just get much better? Questions • How do you define system lifetime? • Can we solve the lifetime problem with high density? Ideal: 7 x 9 = 63 nodes Per area Rotate 63 times increase In lifetime Aging of System (with sleeping nodes) After a certain amount of time, active nodes eventually die off. Neighboring active nodes must detect this loss and issue help message (via wakeup) OR neighboring passive nodes must periodically wake up and detect loss and switch to active state. Aging of System (cont.) Ideally, one node becomes active when only one node stops working. Possible (more than likely?) that multiple nodes become active. Outline • • • • • Hardware layer MAC layer - review Routing layer – review Localization and Clock Sync - review Overarching power management schemes – – – – Sentry service Tripwire service Duty cycle Differentiated surveillance Power ManagementHardware layer • Turn off/on – – – – – – CPU Memory Sensors Radio (most expensive) Fully awake ………… Deep Sleep Dynamic voltage scaling also possible • SW ensures a node/components are awake when needed Power Costs - Examples • EYES nodes (with TI microprocessor) – CPU active – CPU sleep 2.1 mA 1.6 microA – Radio transmit 10 mA – Radio receive 4 mA – Radio sleep 20 microA Power Costs - Examples • Motes – ATmega 128 – six working modes with different energy saving features • Most aggressive sleep can be very small % of active working mode – Working – 8 mA – Sleep – 100 microA – Radio • 10 microA sleeping • 7.5 mA Rcv • 12 mA Tx Instructions and Modules Experimental Results Power Cost Tradeoff • Communication versus calculation – Energy consumed for 1,000 basic calculations is the same as for transmitting a single bit! – Means: sending a 50 byte packet same energy cost as 400,000 instructions – Implies: trade off calculation for messages TinyOS Cost Results MAC Layer • Use overhearing (of wireless transmissions) and scheduling to reduce energy use – When a node hears another sending RTS (not for me) it can go to sleep – Synchronized schedules (TDMA) – when it is not my turn, listen then go to sleep – Good algorithm can also reduce collisions! MAC Layer • 802.11 DCF doze mode • S-MAC (pack all messages into awake period) • B-MAC (duty cycle and CCA) Routing Layer • Use multiple routes to balance energy consumption – E.g., SPEED protocol • Use data caching to minimize messages /energy – E.g., SEAD protocol (covered later) • Adjust communication range to lowest possible to just reach neighbor – Many papers on this, but is this a good idea? Not really, consider robustness Routing Layer • Use only good neighbors (high link quality) – Avoids need for re-transmissions • Use data aggregation protocols – Directed diffusion – AIDA (not covered in this class) –… • Piggyback state table updates Localization • Localization – – – – How often? Minimize messages Long range beacons costly Example: • APIT costs long range beacons (higher power) but few messages • Amorphous Localization costs - flooding • Walking GPS costs - receiving several messages Clock Sync • Clock Sync – Minimize messages to the number needed for a particular sync accuracy • Example: RBS – one time message and then all neighbors must exchange messages • Example: TPSN – exchange 2 sync messages with parent node in spanning tree • Example: Internet NTS protocol sends many messages to the time server Two Viewpoints • Power Management in the Small – Individual protocols • Power Management in the Large – Overarching protocols for additional power savings • • • • Sentry Service Tripwire Management Service Duty Cycle Differential Surveillance A Second Look Power Management – Communication Coverage Minimum awake - still communicate Sensing Coverage (r) First Then 2r for Communication Power Management Communication Coverage Comm. Range Virtual Grid – one node awake per grid Rotate Power ManagementSensing Coverage • 100% coverage • > 100% coverage – FT – Higher quality/confidence sensing • < 100% coverage (aggressive) – Use movement (temporal) of object to compensate for less spatial coverage – Increased lifetime Application Scenario • A small number of nodes stay awake • Most of the network sleeps • Rare events Application Scenario • Awakened nodes detect an event • Messages are sent to wake up other nodes Wake-Up Solution (1) • Periodic wake-up – Each (non-awake) node has a sleep/wakeup duty cycle based on local timer • Listen for stay awake message – Most current systems use this technique – Application dependent, often complicated, wastes energy • E.g., correct duty cycle depends on speed of targets, sensing ranges, types of sensors, … • May miss wakeup call Awake Sleep Wake-Up Solution (2) • Special low power hardware stand-by component that (always) listens for a wakeup beacon (not the full radio component) – PicoRadio – Uses extra energy (but not as much as full radio component) Wake-Up Solution (3) • Just-In-Time Wake-up Capability – A node does not wake up until it is needed – It uses no active listening energy – Uses radio-triggered hardware that extracts energy from the electromagnetic energy in the wakeup signal itself – Proposed – not built for WSN – Not RFID – they employ powerful readers to send strong radio signals Just-in-Time Solution – Is it worth? • Is there much energy to save? • How is energy consumed on a network node? – Examine the distribution of consumed energy on a node in a sensor network for vehicle tracking • 10 events per day, each event lasts 2 minutes • Work/sleep current intensity: 20mA / 100uA • Note: Actual computation is more involved Solution – Is it worth? • Scheme I: Always-on (No power management) – The node is on and actively sensing until it is out of power – 1% of the energy is used to track vehicles, 99% is used in a peeking state (uselessly sensing for potential passing vehicles) – Lifetime 3.3 days Energy wasted!!! Always-on Tracking 1% W aiting 99% Solution – Is it worth? • Scheme II: Rotation-based (Periodic wake-up) – Nodes are awakened wirelessly by wake-up messages – Duty cycle 4.7% – 21% of the energy is used to track vehicles, 7% used in sleeping mode, and 72% is used in peeking state Rotation-based power management Sleep 7% – Lifetime 50 days Energy wasted!!! Waiting 72% Tracking 21% Solution – Is it worth it? • Scheme III: Radiotriggered – Nodes keep sleeping until events of interest happen – Nodes are awakened wirelessly by wake-up messages – 74% of the energy is used to track vehicles, 26% used in sleeping mode (minimal cpu energy) Radio-triggered power management Sleep 26% – Lifetime – 178 days Tracking 74% Sentry-Based Power Management (SBPM) • Two classes of nodes: sentries and non-sentries – Sentries are awake – Non-sentries can sleep • Sentries – Provide coarse monitoring & backbone communication network – Sentries “wake up” non-sentries for finer sensing 3 • Sentry rotation – Even energy distribution – Prolong system lifetime 2 • Decentralized Algorithm –See photo 1 4 SBPM • Basic Algorithm – Each node sets timer inversely proportional to the amount of energy it has remaining – Implies: node with most energy will declare itself a sentry FIRST – Other nodes hearing sentry declare themselves as non-sentries SBPM - Illustration All nodes are awake. Base node declares itself first as a sentry and sends SENTRY_DECLARE message. Communication at sensing range (ensure sensing coverage). SBPM - Illustration Other nodes send SENTRY_DECLARE message as backoff expires (function of remaining energy). SBPM - Illustration Other nodes send SENTRY_DECLARE message as backoff expires. If backoff expires and heard from a sentry then just join one sentry (first, closest) All sentries or attached to a sentry SBPM - Illustration Increase communication range – at least 2X New communication Range All sentries or attached to a sentry Tripwire Service – Scaling to 1000s Network partitioning 1000m 10 relays 100M ... ... ... ... ... ... ... ... …… …… ... ... N Tripwire sections ... ... …… …… ... ... …… 10-N dormant sections ... ... ... ... ... ... Suggest N = 2 • 2 tripwire sections • 8 dormant sections • 100 motes, 1 relay per section • Size and number of sections reconfigurable • Rotate sections Sentries • N% in tripwire section • Rotate sentries Creating Sections • How many sections? • How to create sections? • How (or do) base stations communicate? • What if base station fails? Network Lifetime • Lifetime is determined by – Individual Mica 2 mote consumption • Energy plot for a sentry node • Energy plot for a sleep node Summary -Power Management • Sentry Service – x% in a region are awake • Tripwire – many regions to handle scale • Within a Region - Area only wakeup (each region may be large) Lifetime Analysis Network Life Time Number of Tripwires (10 regions, 30% sentry, 7 day life) 4 3 2 1 2 AA Batteries 50 days 70 days 105 days 210 days 4 AA Batteries 100 days 140 days 210 days 420 days Sentry Duty Cycle • Sentry can also sleep based on – – – – Sensing range Speed of targets Lifetime of events (static/moving) Required probability of detection – Use spatial properties to detect moving target/event • If first sentry is asleep what is the probability that the second one will be too Sentry Duty Cycle Sentry Duty-Cycle Scheduling • A common period p and duty-cycle β is chosen for all sentries, while starting times Tstart are randomly selected Non-sentries Sentries A D B C E Target Trace A t B t C t D t E 0 p Awake 2p t Sleeping Lifetime Analysis Network Life Time 2 AA Batteries Sentries Awake Sentries with Duty Cycles 4 AA Batteries Sentries Awake Sentries with Duty Cycles Number of Tripwires (10 regions, 30% sentry, 7 day life) 10 4 2 1 21 50 105 210 days days days days 50 days 42 days 125 days 100 days 250 days 210 days 500 days 420 days 100 days 250 days 500 days 1000 days Differentiated Surveillance > 100% = 100% Vehicles < 100% Most Important Important Less Important Differentiated Surveillance Solution DOC = 1 DOC = 2 DOC = Degree of Coverage Dynamic Design Goals • Provide energy efficient sensing coverage for a geographic area covered by sensor nodes – Extend system life • Reduce total energy consumption • Reduce energy consumption variation among nodes – Provide differentiated surveillance service • Some areas more critical Sensing Coverage = 100% Degree of Sensing Coverage • Current solutions regard the sensing coverage to a certain geographic area as a binary True/False. • It is possible that higher degree of sensing coverage is desired to obtain high detection confidence since individual nodes are not reliable. F 0 T T 2 1 Assumptions • Each node knows its own location and nodes are not moving. • Neighboring nodes are time synchronized. • The sensing area of a node is a circle with radius r centered at the location of this node. • Radio radius is larger than 2r r < 2r Basic Design Without Differentiation • Goal – find a work-sleep schedule for each node which achieves 100% Sensing coverage guarantee. • Ideally we should decide the schedule for each point in the area, but it’s impossible because the number of points is infinite. What can we do? For EACH POINT p in a certain geographic area, Guarantee that at ANY TIME, p is covered by at least one node’s sensing range. Basic design with 100% sensing coverage • Solution – 100% Grid point sensing coverage – Divide whole network into virtual grids – For each grid point x, guarantee that x is covered by at least one node’s sensing range at ANY time r Decide Working Schedule • Schedule example If we want to provide sensing coverage for point x, we can have either A or B or C awake. Scheduling example for A, B and C 100 0 30 70 Node A Point x B Node B Node C A C 10 5 60 45 time Waking Sleeping Decide Working Schedule • Challenge: For each node, how to coordinate with other nodes and decide its own schedule? – Solution - Random Reference Point Scheduling Algorithm Decide Working Schedule • Concepts – Initialization Phase • In this phase, nodes find their own positions, synchronize time with neighboring nodes and decide their own working schedule. – Sensing Phase • Nodes enter this phase after initialization phase and choose to sense or sleep according to their schedule. – Sensing Round - T • Sensing phase is divided into sensing rounds with equal duration T. A node has the same schedule for each round. Decide working schedule for sensing round T Decide Working Schedule • Concepts – A node’s working schedule is determined by a four parameter tuple – (T, Ref, Tfront, Tend) • Ref: a random time reference point chosen by a node within [0, T) • Tfront: the duration of time prior to Ref • Tend: the duration of time after Ref. • By this tuple, A node’s working period is determined as follows: – [T*j + Ref – Tfront , T*j + Ref + Tend) At other times the node is sleeping. Decide Working Schedule • Solution – Random Reference Point Scheduling Algorithm 1) Each node N chooses a “Reference Point (Ref)” randomly from [0, 100) and broadcasts its Ref and position. e.g. T = 100, RefA = 40, RefB= 90, RefC = 20 2) For each grid point P in its own sensing area, N sorts all the Refs from nodes (including N) which can also sense P in ascending order. For A according to point P1, we have: Ref(1) = RefC = 20, Ref(2) = RefA = 40, Ref(3) = RefB = 90 Point P1 B A C 0 refC refA 20 40 refB 100 90 Decide Working Schedule 3) Assuming RefN is the (i)th Ref, N’s four parameter tuple is computed as follows: • TfronN = (Ref(i)- Ref(i-1))/2, 1<i<M • TendN = (Ref(i+1)-Ref(i))/2, 1<i<M TfrontA = (Ref(2)-Ref(1))/2 = (40-20)/2 = 10 TendA = (Ref(3)-Ref(2))/2 = (90-40)/2 = 25 (T, RefA, TfrontA, TendA) = (100, 40, 10, 25) 4) N’s working period for point P (TwN(P)) is decided by: [T*j + RefN – TfrontN , T*j + RefN + TendN), j = 0, 1, 2, … TwA(P1) = [100*j+40–10, 100*j+40+25) = [100*j+30, 100*j+65) t refC refA 20 40 refB 90 t 0 30 65 Decide Working Schedule 5) Calculate the union of TwN(Px) for all grid points within N’s sensing area, choose this union as the final working period of N (TwN). TwA(P1) TwA(P2) TwA(P3) … 5 TwA(Pn) 5 0 Point P1 A C 50 45 TwA B . . . 65 65 100 Enhanced Design with Differentiation • Goal – provide sensing coverage with DOC = a • a > 1 or a < 1 • Solution – Extend 4-parameter tuple to 5-parameter tuple (T, Ref, Tfront, Tend, a) – Determine a node’s working period as follows: • [T*j + Ref – Tfront*a , T*j + Ref + Tend*a) An Example Schedule for Grid Point P1 (a=2) (T, RefA, TfrontA, TendA, a) = (100, 40, 10, 25, 2) (T, RefB, TfrontB, TendB, a) = (100, 90, 25, 15, 2) (T, RefC, TfrontC, TendC, a) = (100, 20, 15, 10, 2) TwA = [T*j + Ref – Tfront*2,T*j + Ref + Tend*2) = [100*j + 20, 100*j + 90) TwB = [100*j + 40, 100*j + 120) TwC = [100*j -10, 100*j + 40) 0 A refC refA refB 20 40 90 B C 5 30 65 Multi-Round Extension for Energy Balancing • Problem – Reference points are selected randomly instead of uniformly, which results in big variation in Tw among nodes and big variation in power consumption refA refB refC TwA TwB TwC Multi-Round Extension for Energy Balance • Multi-Round Extension – Instead of calculating a single schedule, calculate M schedules for each node according to M independently selected random Refs for each node. – At each round T in sensing phase, the nodes choose one schedule consecutively. TwA1 TwA2 TwA3 TwA1 TwA2 TwA3 Summary • Energy is key metric to minimize and will remain so for a long time • Savings must be addressed at all levels in the system and for most protocols/services – Clock sync – don’t send too many messages to maintain minimal clock drift – Localization – even one time costs have to be efficient (avoid solutions with too many messages) • • • • Improved batteries Solar Energy scavenging Better hardware (low power cpus, sensors, …) Summary • Power Management in the Large • Models can be used to estimate lifetime tradeoffs • Fault tolerance might use heartbeat beacons -> energy cost • Metrics – – – – Total energy consumed per period X Lifetime Half-life Energy consumption balance