Power Management Algorithms

advertisement
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

wi, 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)?
Download