250 likes | 334 Views
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%
E N D
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
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)?