Power Management Algorithms
Download
Report
Transcript Power Management Algorithms
Power Management
Algorithms
An effort to minimize Processor
Temperature and Energy
Consumption
Motivation
Microprocessor power consumption is increasing
exponentially
Motivation
Battery capacity is increasing linearly
Expected battery life increase in the next 5 years: 30 to
40%
Chip manufacturers are close to “thermal wall”
Increase in speed increase in heat generation
Expensive and noisy cooling systems required
Intel: Tejas and Jayhawk
www.cs.pitt.edu/~kirk/cool.avi
Laptops may damage male fertility due to increased
temperature (Reuters: December 9, 2004)
Motivation
Information Technology (IT) consumes about 8% of
energy in US
Exponential growth 50% of energy consumption
Analysis from Intel: 25,000-square-foot
server farm with approximately
8,000 servers consumes
2 megawatts
-- 25% of the cost of such a
facility
Processor Technologies for Power
Management
Speed Scaling
Processor can operate on multiple speeds
o Intel’s SpeedStep — 2 speeds
o AMD’s PowerNow — 9 speeds
o Intel’s Foxton technology — 64 speeds
Power Down
Processor can operate on multiple power levels
o Can operate on any power level L0, L1, …, Ln.
o Ln is normal state. L0, …, Ln-1 are idle states
o It costs to bring back processor to Ln
Relationship Between Speed and Energy
P = c V2 s
o Minimum voltage V required to run processor at
speed s. V is roughly linear to s
o Therefore, P = c s3
o Generalize to P
Energy = ∫Time
= sp, for some constant p ≥ 1
P dt
Speed goes up(down) Energy consumption goes up
(down)
Relationship Between Speed and
Temperature
Key Assumption: fixed ambient temperature Ta
First order approximation of temperature
dT/dt = a P – b (T – Ta) = a P – b T
T = Temprature
t = time
P = supplied power
a,b some constants
For simplicity rescale so that Ta = 0
Problem Formulation
Input: A collection of tasks, where task I has:
o Release time ri when it arrives in the system
o Deadline di when it must finish by
o Work requirement wi (number of cycles)
The processor must perform wi units of work between
time ri and time di
o Preemption is allowed
Objectives
o Minimize energy consumption
o Minimize maximum temperature
For each time, the scheduler must specify both
o Job Selection: which job to run
may assume Earliest Deadline First policy
o Speed Setting: at what speed the processor should run at
Summary of Results
Offline YDS Algorithm (1995)
Repeat
o Find the time interval I with maximum intensity
Intensity of time interval I = Σ wi / |I|
Where the sum is over tasks i with [ri,di] in I
o During I
speed = to the intensity of I
Earliest Deadline First policy
o Remove I and the jobs completed in I
YDS Example
Release time
time
deadline
YDS Example
First Interval
Intensity
Second Interval
Intensity = green work + blue work
Length of solid green line
YDS Example
Final YDS schedule
o Height = processor speed
YDS theorem: The YDS schedule is optimal for energy, or
equivalently for temperature when b = 0. And YDS is
optimal for maximum power, or equivalently when b = ∞.
o Bansal, Pruhs: Consequence of KKT optimality
Bansal, Pruhs: The YDS is at worst 20-competitive with
respect to temperature for all cooling parameters b
Why is YDS optimal?
Convex program
min f 0 ( x )
fi(x) 0
i 1,..., n
The
problem has solution if these conditions hold:
n
f 0 ( x)
fi(x) 0
i 0
i fi( x ) 0
f (x) 0
i
i
i 1,..., n
i 1,..., n
o They
are called
KKT optimality conditions
i 1
Why is YDS optimal?
YDS as convex problem
o Break time into intervals t0,…tm at release times and
deadlines
o J(i): tasks feasibly executed in Ii = [ti,ti+1]
o Wi,j for j in J(i): work done on j during [ti,ti+1]
KKT optimality
conditions hold
min E
wj
w
i J
1
i, j
i 1,..., n
It took 10
years to
prove YDS’s
optimality!!!
( j)
w i, j
j J ( i ) ( t i 1 t i ) E
t i 1 t i
i 1
a
m
wi, j 0
i 1,..., n
j J (i)
Online AVR Algorithm (1995)
Each job i has av. rate requirement or density
avri =wi/(di – ri)
AVR(t)
while(t < max dj)
o s(t) = Σavrj(t)
o Apply Earliest deadline First policy
Yao, Demers, Schenker: 4 ≤ AVR ratio ≤ 8 with
respect to energy
Bansal, Pruhs: AVR is not O(1)-competitive with
respect to temperature
Online OA Algorithm (1995)
After each arrival
o Recompute an optimal schedule (YDS alg.)
consisting of
Newly arrived job j
Remaining portions of other jobs
Bansal, Pruhs: OA is not O(1)-competitive
with respect to temperature
BKP Algorithm (2004)
Algorithm description
Speed k(t) at time t =
e * maximum over all t2 > t of
Σwi/(t2 - t1)
Can be
computed
by an online
algorithm
o Sum is over jobs i with t1 = et – (e-1)t2 < ri < t and di < t2
t1= et – (e-1)t2
ri
di
t
di
t2
current
time
Bansal, Pruhs: BKP is O(1)-competitive with respect to
temperature
BKP example
Suppose e = 2.7
t=4
3
5
4
0
1
2
3
4
5
6
BKP example
Suppose e = 2.7
t=4
3
5
4
0
1
2
3
4
5
6
For t’ = 5
t1 = et – (e – 1)t’ = 2.7*4 – (2.7 – 1)*5 = 10.8 – 8.5 = 2.3
BKP example
Suppose e = 2.7
t=4
3
5
4
0
1
2
3
4
5
6
For t’ = 5
t1 = et – (e – 1)t’ = 2.7*4 – (2.7 – 1)*5 = 10.8 – 8.5 = 2.3
w(t,t1,t’) = w(4,2,5) = 4
BKP example
Suppose e = 2.7
t=4
3
5
4
0
1
2
3
4
5
6
For t’ = 5
t1 = et – (e – 1)t’ = 2.7*4 – (2.7 – 1)*5 = 10.8 – 8.5 = 2.3
w(t,t1,t’) = w(4,2,5) = 4
w(t,t1,t’) /e(t’-t) = w(4,2,5)/2.7(5-4) = 4/2.7 = 1.5
BKP example
Suppose e = 2.7
t=4
3
5
4
0
1
2
3
4
5
6
For t’ = 6
t1 = et – (e – 1)t’ = 2.7*4 – (2.7 – 1)*6 = 10.8 – 10.2 = 0
w(t,t1,t’) = w(4,0,6) = 4 + 5 + 3 = 12
w(t,t1,t’) /e(t’-t) = w(4,0,6)/2.7*(6-4) = 12/5.4 = 2.22
BKP example
Suppose e = 2.7
t=4
3
5
4
0
1
2
3
4
5
6
So t2 = 6
s(4) = e*2.22 = 2.7 * 2.22 = 6
Bansal, Pruhs: BKP is O(1)-competitive with respect to
temperature
Future Work
Combination of Speed Scaling and Power Down
What about multicore processors?
What about systems with rejuvinative sources
(i.e. solar cells)?