280 likes | 483 Views
Runtime Software Power Estimation and Minimization Tao Li. Power-aware Computing. Power: Software Perspective & Impact. Power estimation: the first step to power management & optimization Software contributes to & largely impacts power consumption.
E N D
Power: Software Perspective & Impact • Power estimation: the first step to power management & optimization • Software contributes to & largely impacts power consumption
Power: Software Perspective & Impact (Contd.) • It is crucial to model power from the perspective of software • Evaluate software energy in early design stage • Understand impact of software optimizations on energy • Support run-time power management and optimizations
Software Power Estimation: Current Techniques • Instruction level modeling • Computation intensive • High level macro-modeling • Difficult to apply to general code • Event counting based modeling • Impacted by the availability of performance counters • Architecture level simulation • Large slowdown
Challenges in Run-time Power Estimation • High fidelity & fast speed • On-the-fly estimation capability, non-intrusive & low overhead • Simplicity, availability and generality
Experimental Methodology • SoftWatt: cycle-accurate & full-system power simulation framework • SimOS infrastructure, Wattch power model • Commercial OS & real applications • Out-of-order superscalar processor • Caches & memory hierarchy • Low-power disk
Experimental Methodology (Contd.) • Applications • E-mail and file management (sendmail, fileman) • Java (SPECjvm98: db, jess, javac, jack, mtrt, compress) • SPECInt95 (gcc, vortex) • Database (Postgres: select, update, join) • Miscellaneous (pmake, osboot)
OS Power Characterization • OS power varies from one application to another • 29 Watt (gcc) ~ 66 Watt (fileman) • Variance of power consumption in OS service routines & invocations
OS Power Characterization (Contd.) • OS routine power correlates with its performance • Circuits used to exploit ILP burn significant portion of power • The number of in-flight instructions that flow through impacts circuit switching activity • For a given OS routine, similar IPC indicates similar circuit switching activity and therefore, similar power
OS Routine Power-Performance Correlation SCSI Disk Interrupt Handler Read File System Call
Routine Level OS Power Model • Idea: use a linear regression model Proutine=k1*IPCroutine+k0 to track the OS routine power showing different performance • Energy(OS)= Sum [ Energy(OS routines) ] • = Sum [ Power(OS routines)*Time(OS routines) ]
Routine Level OS Power Model (Contd.) : Model Fitting Error
Routine Level OS Power Modeling • Pre-characterization • Low level energy simulation • Model fitting • Run-time estimation • OS routine boundaries • Evaluation using counter values
Routine based Regression Model Proutine=k1*IPCroutine+k0 Flat Regression Model POS=g1*IPCOS+g0 Cumulative Estimation Error
Per-routineEstimation Error Flat Regression Model POS=g1*IPCOS+g0
Per-routine Estimation Error (Contd.) Routine based Regression Model Proutine=k1*IPCroutine+k0
OS Energy Dissipation 92% 89%
Phases in Programs (8-issue machine) • Resources are utilized differently during different phases of program execution Benchmark: SPECjvm98 jess • Average IPC - User: 2.1, OS: 1.1
Power Minimization via Processor Resource Adaptations • Adapt processor resources to program needs • What can be adapted? • Bandwidth of fetch/decode/issue/retire… • Size of instruction window, re-order buffer, load store queue… • Reduce power, retain performance
Effects of Tuning Processor Resource for the OS 8-issue -> 4-issue OS Performance degradation: 4% OS Power savings: 50%
IPC (Inst. Per Cycle) Sampling Window A B C D E F Cycles Adaptation Previous Approach for Adaptations • Sampling
Problemswith Sampling based Adaptations (Contd.) • OS executions • Short-lived
OS-aware Routine based Adaptations • OS-aware: • Identify OS executions via processor execution modes • Just-in-time & full coverage of OS activities • Routine-based: • Adapt processor resources at OS routine boundaries • Precise exceptions: drained pipeline • Achieve minimum adaptation overhead
OS-awareRoutine based Adaptations (Contd.) • Apply optimal adaptation for individual OS routine • Exploit the routine level Energy-Delay Product variance OS Services