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 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 L 0, L 1, …, L n. o L n is normal state. L 0, …, L n-1 are idle states o It costs to bring back processor to L n
Relationship Between Speed and Energy P = c V 2 s o Minimum voltage V required to run processor at speed s. V is roughly linear to s o Therefore, P = c s 3 o Generalize to P = s p, for some constant p ≥ 1 Energy = ∫ Time P dt Speed goes up(down) Energy consumption goes up (down)
Relationship Between Speed and Temperature Key Assumption: fixed ambient temperature T a First order approximation of temperature dT/dt = a P – b (T – T a ) = a P – b T T = Temprature t = time P = supplied power a,b some constants For simplicity rescale so that T a = 0
Problem Formulation Input: A collection of tasks, where task I has: o Release time r i when it arrives in the system o Deadline d i when it must finish by o Work requirement w i (number of cycles) The processor must perform w i units of work between time r i and time d i 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 = Σ w i / |I| Where the sum is over tasks i with [r i,d i ] 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 timedeadline time
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 o They are called KKT optimality conditions The problem has solution if these conditions hold:
Why is YDS optimal? YDS as convex problem o Break time into intervals t 0,…t m at release times and deadlines o J(i): tasks feasibly executed in I i = [t i,t i+1 ] o W i,j for j in J(i): work done on j during [t i,t i+1 ] KKT optimality conditions hold It took 10 years to prove YDS’s optimality!!!
Online AVR Algorithm (1995) Each job i has av. rate requirement or density avr i =w i /(d i – r i ) while(t < max d j ) o s(t) = Σavr j (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 AVR(t)
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 t 2 > t of Σw i /(t 2 - t 1 ) o Sum is over jobs i with t 1 = et – (e-1)t 2 < r i < t and d i < t 2 Bansal, Pruhs: BKP is O(1)-competitive with respect to temperature tt2t2 riri didi didi t 1 = et – (e-1)t 2 current time Can be computed by an online algorithm
BKP example Suppose e = 2.7 t =
BKP example Suppose e = 2.7 t = 4 For t’ = 5 t 1 = et – (e – 1)t’ = 2.7*4 – (2.7 – 1)*5 = 10.8 – 8.5 =
BKP example Suppose e = 2.7 t = 4 For t’ = 5 t 1 = et – (e – 1)t’ = 2.7*4 – (2.7 – 1)*5 = 10.8 – 8.5 = 2.3 w(t,t 1,t’) = w(4,2,5) =
BKP example Suppose e = 2.7 t = 4 For t’ = 5 t 1 = et – (e – 1)t’ = 2.7*4 – (2.7 – 1)*5 = 10.8 – 8.5 = 2.3 w(t,t 1,t’) = w(4,2,5) = 4 w(t,t 1,t’) /e(t’-t) = w(4,2,5)/2.7(5-4) = 4/2.7 =
BKP example Suppose e = 2.7 t = 4 For t’ = 6 t 1 = et – (e – 1)t’ = 2.7*4 – (2.7 – 1)*6 = 10.8 – 10.2 = 0 w(t,t 1,t’) = w(4,0,6) = = 12 w(t,t 1,t’) /e(t’-t) = w(4,0,6)/2.7*(6-4) = 12/5.4 =
BKP example Suppose e = 2.7 t = 4 So t 2 = 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)?