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)?