Title: Online Power Saving Strategies
1Online Power Saving Strategies
- Sandy Irani
- Joint work with Rajesh Gupta, Sandeep Shukla,
Dinesh Ramanathan
2Motivation
- System Level/ Application controlled power
management is gaining importance. - Power is becoming first class design parameter
for software and applications - Greater power savings is possible if knowledge of
the applications demands are taken into account..
3Power Savings Mechanisms
- Dynamic Power Management
- When a device is idle, it can transition to
low-power sleep states. . - Dynamic Voltage Scaling
- A device can be run at different speeds with
different power usage rates. - Execution of jobs can be slowed down to save
power as long as all jobs are completed by their
deadline.
4This Talk
- Extend work on dynamic power management to handle
devices with multiple sleep states. - Design and analyze algorithms for systems that
allow both dynamic power management and dynamic
voltage scaling.
5Dynamic Power Management
- Current Trend
- Design Devices with sleep states
- Provide driver hooks to change the power states
under operating system control - For power-hungry peripheral devices it is
common - Disk-Drives
- Network Interface cards (Wireless card)
- Display devices
- DRAM
- O/S designers design Dynamic Power Management
Strategies to take advantage of that.
6Dynamic Power Management
- When a device becomes idle, it can transition to
lower power usage state. - A fixed amount of additional time and energy are
required to transition back to active state when
a new request for service arrives. - What is the best time threshold to transition to
the sleep state? - Too soon pay start-up cost too frequently.
- Too late spend too much time in the high-power
state
72-state vs. Multi-state
- 2-state case
- One idle state
- One power saving state
- Multi-State
- Idle state, and multiple power saving States.
- Each power saving state has different power
characteristics, and transition penalty. - Example IBM Disk Drive
- Idle, standby, sleep
8Previous Work
- Deterministic algorithm (ski rental)
- Transition to sleep state when the cost of being
in active state is at least the cost of waking
up. - Normalize cost of transitioning from sleep to
active state to 1. - Power consumption rate of active state is ?.
- This algorithm is 2-competitive.
- 2 is the best possible competitive ratio for any
deterministic algorithm.
9Previous Work, cont.
- Idle period length generated by known
distribution with density function p(t). - Choose threshold T to minimize cost
- Theorem Karlin, Manasse, McGeough and Owicki
- For any distribution p(t), the expected cost of
the above algorithm is within e/(e-1) of the
optimal cost. Furthermore, there is a
distribution for which no algorithm can be better
than e/(e-1) times optimal.
10Multi-state Case
- Let there be k1 states
- Let State k be the shut-down state and 0 be the
active state - Let ?i be the power dissipation rate at state i
- Let ?i be the total energy dissipated to move
back to State k - States are ordered such that ?i1 ? ?i
- ?k 0 and ?0 0 (without loss of generality).
- Power down energy cost can be incorporated in the
power up cost for analysis (if additive).
11Lower Envelope Idea
State1
State2
State3
State 4
Energy
t1
t2
t3
Time
For each state i, plot
12Deterministic Lower Envelope Algorithm
- The Lower Envelope Defines an ordering of the
states. - Throw out states that do not appear on lower
envelope - Given this ordering, only need to determine
thresholds - When to transition from state i to state i1.
- Lower Envelope Algorithm Transitions from one
state to the next at the discontinuities of the
lower envelope curve. - THEOREM Lower Envelope Algorithm is
2-competitive.
13Probabilistic Lower Envelope Algorithm
- Use same order of states as determined by lower
envelope function. - Our approach
- Determine threshold for transitioning from state
i-1 to state i by solving the optimization
problem where i-1 and i are the only states in
the system.
14Probabilistic Lower Envelope Algorithm
- Can show that
- THEOREM The Probabilistic Lower Envelope
Algorithm is e/(e-1)-competitive.
15Power-Latency Tradeoff
- Tasks arrive through time and take time to run
- If the device is busy when a task arrives, it
waits in a queue - Idle period begins when device finishes current
job and the queue is empty - If device transitions to sleep state in an idle
period, some latency is incurred as device
transitions to active state. - This in turn effects (shortens) the length of
future idle periods. - Power-Latency tradeoff extremes
- Minimize latency always stay in the active
state. - Minimize energy usage delay completing any tasks
until they have all arrived.
16Experimental Study IBM Mobile Hard Drive
Trace data with arrival times of disk accesses
from Auspex file server archive.
17Histogram for the Probabilistic Lower Envelope
Algorithm
- Create histogram
- Partition possible idle period range (0,?) into
intervals - Let ri denote the left end of the ith interval
- Keep a counter for the number of idle periods
among last w idle periods that fall in the range
ri-1 , ri) - Update thresholds every r idle periods
- Use Probabilistic Lower Envelope Algorithm to
calculate thresholds using histogram as estimate
of probability distribution generating upcoming
idle period. - Takes time O( bins states )
- Similar to Keshav, Lund, Phillips, Reingold,
Saran
18Histogram for the Probabilistic Lower Envelope
Algorithm
- How many partitions do we need for the histogram?
- More partitions, more accurate estimation
- More partition, more expensive computation
- Where should we partition?
- Our method
- Pick a constant c. (we chose c5).
- Let T1 ,, Tk be discontinuities of Lower
Envelope (i.e. thresholds for the Lower Envelope
Algorithm). - Partition range Ti, Ti1 into c equal size
bins.
19Histogram Sample
20Histogram Example, cont.
21Experimental Results
22Dynamic Voltage Scaling
- Device which can run at any speed s.
- Power consumed if running in state s is given by
convex function P(s). - Jobs arrive through time. Job j has
- Arrival time aj
- Deadline bj
- Work required Rj
- Schedule S (s, job)
- s(t) is the speed of the device at time t.
- job(t) is which job is executed at time t.
23Dynamic Voltage Scaling(Dynamic Voltage Scaling
- No Sleep DVS-NS)
- Schedule S is feasible for set of jobs J if for
every j in J - Cost of Schedule S is
24DVS with Sleep State (DVS-S)
- Schedule S ( s, job, h )
- h(t) sleep or on
- If h(t) sleep, then s(t) 0.
- Power is a function of speed and state
- P(s, state) P(s) if state on.
- P(s, state) 0 if state sleep.
- P(0) ? is power required to keep device active
with no tasks running.
25DVS with Sleep State (DVS-S)
- Requirements for a feasible schedule are the
same. - Let k be the number of times the device
transitions from sleep state to the on state - Cost of a schedule S is
26SmartBadge
- Battery-powered embedded system.
- Sharps display, wireless local area network
(WLAN) card, StrongARM-1100 processor, Microns
SDRAM memory, FLASH memory, sensors, modem/audio
analog front-end on printed circuit board. - Goal allow computer or human user to provide
location and environmental information to a
location server through a heterogeneous network. - Operates as part of a client-server system
initiates and terminates communication sessions. - Simunic, 2001, PhD Thesis, Stanford University
27Previous Work on DVS-NS
- Yao, Demers and Shenkel
- Polynomial time offline algorithm to find the
optimal schedule for a set of jobs. - Algorithms Average Rate
- sj (t) Rj /(bj aj) for t aj lttltbj
- 0 otherwise.
-
- job(t) Earliest Deadline First.
- Competitive ratio of Average Rate c, where power
function p is a degree-d polynomial
28Our Results on DVS-S
- Offline algorithm whose cost is within a factor
of 3 of optimal - Online algorithm
- Let A be an online algorithm for DVS-NS that
achieves a competitive ratio of c. - Let d be the smallest constant such that for all
x,y greater than 0, - Theorem the Competitive ratio of the online
algorithm is at most
29Optimal Offline Algorithm for DVS-NSYao,
Demers, and Shenker
- The algorithm schedules jobs as it goes and
blacks-out intervals of time for which the device
has already been scheduled. - A job j is contained in an interval z,z if
- For interval z,z, define l(z,z) to be the
length of the interval minus the blackout times. - Define the intensity of interval z,z to be
- where the sum is taken over all unscheduled jobs
j that are contained in z,z.
30Optimal Offline Algorithm for DVS-NS
- Repeat until all jobs are scheduled
- Find the interval z,z with the maximum
intensity. - Set s(t) g(z,z) for all t in z,z.
- Blackout the interval z,z.
- Remove all jobs that are contained in z,z.
31Optimal Offline Algorithm for DVS-NS Example
Speed
1
Time
2
3
32Critical Speed
- If the cost to transition from sleep state to the
on state were 0, the optimal speed for all jobs
would be the s that minimizes (Rj/s)
P(s) - This is the s that satisfies P(s) s P(s).
- Call this Scrit, the critical speed for ?.
- If we compress the execution of a task by x,
- we expend additional energy because we execute
the job faster - we save ? x.
- Scrit is the point at which it is no longer
beneficial to compress the execution of a task.
33Offline Algorithm for DVS-S
- Run the optimal offline algorithm for DVS-NS
until the maximum intensity interval has
intensity less than ?s. - Now we must decide how to schedule the remaining
tasks. - There is a feasible schedule in which all jobs
are run at a speed Scrit or less. - First decide on intervals of time in which device
will sleep. Then run optimal DVS-NS algorithm
with these intervals blacked out to determine
device speed. - How to decide on the sleep intervals?
34Idea
- Run the device at speed 0 or Scrit.
- Interval in which s(t) 0 is an idle interval
- Interval in which s(t) Scrit is an active
interval. - The active time is the same over all schedules.
- The cost of an idle interval of length i is the
minimum of ?i and 1. - Try and minimize the cost of all idle intervals.
- Want fewer, longer intervals.
- Ignoring the fact that compressing some jobs to a
speed of ?s is more costly for some jobs than
others.
35Offline Algorithm for DVS-S Example
Scrit
Speed
Time
36Left-To-Right Algorithm
- Decide on Active/Idle Intervals
- Sweep from left to right.
- While active, run as many jobs as possible until
there are no pending jobs in the system. Then
device must become idle. - While idle, remain idle until it is necessary to
start running jobs again in order to run all jobs
by their deadline at a speed of Scrit - Decide on Sleep/On Intervals
- Active interval becomes an on interval.
- Idle interval of length lt 1/? becomes an on
interval. - Idle intervals of length gt 1/? becomes a sleep
interval.
37Results
- Theorem the cost of Left-To-Right on any set of
jobs is within a factor of three of optimal. - Lemma no idle interval for the optimal algorithm
can contain two idle intervals of Left-To-Right.
38OPT
LTR
39Proof for LTR
- Divide LTR cost into three components
- ACTLTR P(0) times the length of all the active
components - RUNLTR The cost to run the jobs beyond the
energy spent keeping the device on - where the interval is taken over all active
intervals. - IDLELTR The cost of each idle period.
- Either 1 or the length times ?.
40P(Scrit)
?P(0)
Power
ACTLTR
IDLELTR
RUNLTR
41- ACTLTR is at most ACTOPT .
- Optimal will not run any job faster than Scrit.
- RUNLTR is at most ACTOPT RUNOPT .
OPT
LTR
Speed
- IDLELTR is at most ONOPT 3 SLEEPOPT .
42IDLELTR is at most ONOPT 3 SLEEPOPT
- Consider an interval I in which LTR is idle.
- If OPT is ON during all of I, then the cost of I
is covered by the cost incurred by OPT in keeping
device on during I. - Consider all intervals I such that OPT is asleep
during a portion of I. The number of such
intervals is at most 3 times the number of times
OPT is in sleep state
OPT on/sleep
LTR active/idle
43Online Algorithm for DVS-S
- Decide on Active/Idle Intervals
- Sweep from left to right.
- While active, run as many jobs as possible until
there are no pending jobs in the system. Then
device must become idle. - While idle, remain idle until it is necessary to
start running jobs again in order to run all jobs
(that we know about) by their deadline at a speed
of Scrit - Algorithm name PROCRASTINATOR
- Decide on Sleep/On Intervals
- If idle, stay on until cost of staying equals
cost of waking up.
44Online Algorithm for DVS-S
- Decide on device speed.
- Let A be an online algorithm for DVS-NS.
- Whenever feasible, run device at speed Scrit
- If a job arrives which makes it impossible to
complete all jobs at a speed of Scrit by their
deadline, schedule new job according to A. Add
the speed of this job to the speed already
allocated to other jobs.
45Procrastinator Example
Scrit
46Procrastinator Example
Scrit
47Procrastinator Example
Scrit
48Procrastinator Example
Scrit
49 - The time Procrastinator is active is less than
the time LTR is active. (Procrastinator runs
tasks at least as fast as LTR). - Can bound cost to keep device on and cost to
wake-up for Procrastinator by cost of LTR. - Extra cost comes from doubling up jobs scheduled
at speed Scrit and jobs scheduled by algorithm A.
50- Let A be an online algorithm for DVS-NS that
achieves a competitive ratio of c. - Let d be the smallest constant such that for all
x,y greater than 0, - Theorem the Competitive ratio of Procrastinator
is at most
51- Let A be an online algorithm for DVS-NS that
achieves a competitive ratio of c. - Let d be the smallest constant such that for all
x,y greater than 0, - Theorem the Competitive ratio of Procrastinator
is at most
c
c.r.
d
8/24
2
4/8
P(s)
4
27/108
108/540
52- Let A be an online algorithm for DVS-NS that
achieves a competitive ratio of c. - Let d1 and d2 be such for all x,y greater than 0,
- Theorem the Competitive ratio of Procrastinator
is at most
c
c.r.
27/108
108/540
P(s)
27/108
66/193
53Open Problems
- Optimize constants in algorithm.
- Dont wait until last minute to return to active
state. - Experimental Study coming this summer.
- Offline problem NP-complete?
- Improve online algorithms for DVS-NS.
54Papers
- Competitive Analysis of Dynamic Power Management
Strategies for Systems with Multiple Power Saving
States.With Sandeep Shukla and Rajesh Gupta.
Proceedings of Design Automation and Test in
Europe (DATE), 2002. - Online Strategies for Dynamic Power Management in
Systems with Multiple Power Saving States. With
Sandeep Shukla and Rajesh Gupta. Submitted to ACM
Transactions on Embedded Computing Systems,
Special Issue on Power-Aware Embedded Computing. - Dynamic Voltage Scaling for Systems with Sleep
States. Manuscript.