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 • Intel’s SpeedStep — 2 speeds • AMD’s PowerNow — 9 speeds • Intel’s Foxton technology — 64 speeds • Power Down • Processor can operate on multiple power levels • Can operate on any power level L0, L1, …, Ln. • Ln is normal state. L0, …, Ln-1 are idle states • It costs to bring back processor to Ln
Relationship Between Speed and Energy • P = c V2 s • Minimum voltage V required to run processor at speed s. V is roughly linear to s • Therefore, P = c s3 • Generalize to P = sp, 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 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: • Release time ri when it arrives in the system • Deadline di when it must finish by • Work requirement wi (number of cycles) • The processor must perform wi units of work between time ri and time di • Preemption is allowed • Objectives • Minimize energy consumption • Minimize maximum temperature • For each time, the scheduler must specify both • Job Selection: which job to run • may assume Earliest Deadline First policy • Speed Setting: at what speed the processor should run at
Summary of Results
Offline YDS Algorithm (1995) • Repeat • 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 • During I • speed = to the intensity of I • Earliest Deadline First policy • Remove I and the jobs completed in I
YDS Example Release time deadline time
YDS Example First Interval Intensity Second Interval Intensity = green work + blue work Length of solid green line
YDS Example • Final YDS schedule • 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 = ∞. • 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 • They are called KKT optimality conditions The problem has solution if these conditions hold:
Why is YDS optimal? • YDS as convex problem • Break time into intervals t0,…tm at release times and deadlines • J(i): tasks feasibly executed in Ii = [ti,ti+1] • Wi,j for j in J(i): work done on j during [ti,ti+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 avri =wi/(di – ri) • while(t < max dj) • s(t) = Σavrj(t) • 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 • 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) • Sum is over jobs i with t1 = et – (e-1)t2 < ri < t and di < t2 • Bansal, Pruhs: BKP is O(1)-competitive with respect to temperature Can be computed by an online algorithm t1= et – (e-1)t2 ri di t di t2 current time
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 For t’ = 5 t1 = et – (e – 1)t’ = 2.7*4 – (2.7 – 1)*5 = 10.8 – 8.5 = 2.3 3 5 4 0 1 2 3 4 5 6
BKP example • Suppose e = 2.7 • t = 4 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 3 5 4 0 1 2 3 4 5 6
BKP example • Suppose e = 2.7 • t = 4 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 3 5 4 0 1 2 3 4 5 6
BKP example • Suppose e = 2.7 • t = 4 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 3 5 4 0 1 2 3 4 5 6
BKP example • Suppose e = 2.7 • t = 4 So t2 = 6 s(4) = e*2.22 = 2.7 * 2.22 = 6 • Bansal, Pruhs: BKP is O(1)-competitive with respect to temperature 3 5 4 0 1 2 3 4 5 6
Future Work • Combination of Speed Scaling and Power Down • What about multicore processors? • What about systems with rejuvinative sources (i.e. solar cells)?