KOALA A PLATFORM FOR OS-LEVEL POWER MANAGEMENT D.C. Snowdon E. Le Sueur S.M. Petters G. Heiser
Image by Diliff under CC license
KNOBS • CPU frequency • CPU voltage • CPU sleep states • memory and bus frequency • power states of IO devices (not considered here)
SIMPLISTIC POLICIES Speed Time
SIMPLISTIC POLICIES Speed Time
REALITY CHECK 1.7 1.1 gzip swim 1.6 swim Normalised Energy gzip Normalised Energy 1.5 1 1.4 1.3 0.9 1.2 1.1 0.8 1 0.9 0.7 600 800 1000 1200 1400 1600 1800 Frequency (MHz)
CYCLE COUNT 2 swim equake mgrid 1.8 gzip Normalised Cycles 1.6 1.4 1.2 1 600 800 1000 1200 1400 1600 1800 CPU Frequency (MHz)
OVERHEAD • switching frequency and power incurs CPU downtime • Pentium-M • frequency change: 10µs • voltage change asynchronous • Opteron • frequency and voltage change: 2ms (140µs out of spec)
TEMPERATURE 28.6 Input Power (W) 28.4 28.2 28 27.8 High Fan Medium Fan 27.6 Low Fan 50 52 54 56 58 60 62 64 66 68 Temperature (degrees C)
POWER SUPPLY 38 36 34 Input Power (W) 32 30 28 26 Expected 24 1.3V 1.2V 22 1.1V 20 1.0V 18 18 20 22 24 26 28 30 32 34 36 38 Predicted Input Power (W)
TIME MODEL T = C cpu f cpu + C bus f bus + C mem f mem + C io f io + . . . The coefficients are workload-specific, and can be C bus α 1 PMC 1 + α 2 PMC 2 + . . . = C mem β 1 PMC 1 + β 2 PMC 2 + . . . =
ENERGY MODEL E dyn ∝ cyc × V 2 . E = V 2 cpu ( γ 1 f cpu + γ 2 f bus + γ 3 f mem ) ∆ t + V 2 cpu ( α 0 PMC 0 + · · · + α m PMC m ) + γ 4 f mem ∆ t + β 0 PMC 0 + · · · + β m PMC m + P static ∆ t,
UNIFIED POLICY η = P 1 − α T 1+ α , -1 0 1 α forces highest performance
UNIFIED POLICY η = P 1 − α T 1+ α , -1 0 1 α minimises energy-delay product
UNIFIED POLICY η = P 1 − α T 1+ α , -1 0 1 α minimises energy
UNIFIED POLICY η = P 1 − α T 1+ α , -1 0 1 α minimises power consumption
IMPLEMENTATION • recent Linux kernel (2.6.24.4) • per-process collection of relevant statistics • policy-decision when process blocks or preempts • use data from previous time slice to predict optimal setting • assumes temporal locality • uses logarithmic tables to simplify calculation (no float)
EVALUATION The Laptop The Server • Dell Latitude D600 • AMD Opteron 246 • Pentium-M 0.8 – 1.8 GHz • 0.8 – 2 GHz • 0.98 – 1.34 V • 0.9 – 1.5 V • three sleep states • high switching overhead • measured at battery • measured at wall socket
CHARACTERISATION The Laptop The Server • number of completed burst • quadword write transfers transactions • L2 cache misses • number of lines removed • dispatch stalls due to from L2 cache reorder buffer being full • correlation 0.98 / 0.96 • DRAM accesses due to page conflicts • correlation 0.98 / 0.98
MODEL ACCURACY 105 Est E Act E 100 95 Energy Consumption (%) 90 85 80 75 70 65 lbm test mcf test equake ref swim ref povray train gzip graphic ref milc test libquantum test dealII test sjeng test gcc train cactusADM test bzip2 test 2 bzip2 test 1 omnetpp train bwaves test gromacs test xalancbmk test wrf test namd test calculix train zeusmp test astar test tonto test hmmer test h264 test sphinx train
MODEL ACCURACY 110 Est T Act T 105 100 Performance (%) 95 90 85 80 lbm test mcf test equake ref swim ref povray train gzip graphic ref milc test libquantum test dealII test sjeng test gcc train cactusADM test bzip2 test 2 bzip2 test 1 omnetpp train bwaves test gromacs test xalancbmk test wrf test namd test calculix train zeusmp test astar test tonto test hmmer test h264 test sphinx train
UNIFIED POLICY � 140 lbm_test mcf_ref 130 swim_ref gzip_graphic_ref milc_test 120 Actual Energy (%) povray_test equake_ref 110 100 90 80 70 -1 -0.5 0 0.5 1 �
UNIFIED POLICY 110 100 Actual Performance (%) 90 80 70 lbm_test mcf_ref 60 swim_ref gzip_graphic_ref milc_test 50 povray_test equake_ref 40 -1 -0.5 0 0.5 1 �
BATTERY -AWARE POLICY 1.2 1.2 � , Normalised Battery State Normalised Energy/Time 1 1.1 0.8 1 0.6 0.9 0.4 0.8 � Battery Level 0.2 0.7 Execution Time Energy 0 0.6 0 2 4 6 8 10 12 14 16 18 20 Iteration
DISCUSSION • practicality • cooperation from vendors, built-in power measurement • energy management by hardware or software • hints from applications • is this too fine-grained • dumb component shutdown (both software and hardware)
Recommend
More recommend