PowerManagement - University of Virginia

advertisement
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
Download