Power Analysis and Optimization Techniques for Energy Efficient Computer Systems

Reducing power consumption has become a major challenge in the design and operation of today's computer systems. This chapter describes different techniques addressing this challenge at different levels of system hardware, such as CPU, memory, and internal interconnection network, as well as at different levels of software components, such as compiler, operating system and user applications. These techniques can be broadly categorized into two types: Design time power analysis versus run-time dynamic power management. Mechanisms in the first category use analytical energy models that are integrated into existing simulators to measure the system's power consumption and thus help engineers to test power-conscious hardware and software during design time. On the other hand, dynamic power management techniques are applied during run-time, and are used to monitor system workload and adapt the system's behavior dynamically to save energy.

[1]  Luca Benini,et al.  Operating-system directed power reduction , 2000, ISLPED '00.

[2]  Carl Staelin,et al.  Idleness is Not Sloth , 1995, USENIX.

[3]  Sharad Malik,et al.  Orion: a power-performance simulator for interconnection networks , 2002, MICRO.

[4]  Chi-Ying Tsui,et al.  Low power architecture design and compilation techniques for high-performance processors , 1994, Proceedings of COMPCON '94.

[5]  Hal Wasserman,et al.  Comparing algorithm for dynamic speed-setting of a low-power CPU , 1995, MobiCom '95.

[6]  Mazin S. Yousif,et al.  Energy optimization techniques in cluster interconnects , 2003, Proceedings of the 2003 International Symposium on Low Power Electronics and Design, 2003. ISLPED '03..

[7]  Larry L. Biro,et al.  Power considerations in the design of the Alpha 21264 microprocessor , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[8]  Giovanni De Micheli,et al.  Comparing System-Level Power Management Policies , 2001, IEEE Des. Test Comput..

[9]  Sharad Malik,et al.  Instruction level power analysis and optimization of software , 1996, Proceedings of 9th International Conference on VLSI Design.

[10]  Scott Shenker,et al.  Scheduling for reduced CPU energy , 1994, OSDI '94.

[11]  Oscar Acevedo Patino,et al.  Instruction Level Power Profile for the PowerPC Microprocessor , 2003 .

[12]  Hans P. Zima,et al.  The Earth Simulator , 2004, Parallel Comput..

[13]  Chansu Yu,et al.  Dynamic voltage scaling on MPEG decoding , 2001, Proceedings. Eighth International Conference on Parallel and Distributed Systems. ICPADS 2001.

[14]  Mani B. Srivastava,et al.  Predictive system shutdown and other architectural techniques for energy efficient programmable computation , 1996, IEEE Trans. Very Large Scale Integr. Syst..

[15]  Rajesh Gupta,et al.  Profile-based dynamic voltage scheduling using program checkpoints , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[16]  Hector Sanchez,et al.  PowerPC 603, a microprocessor for portable computers , 1994, IEEE Design & Test of Computers.

[17]  Rami G. Melhem,et al.  Collaborative operating system and compiler power management for real-time applications , 2003, The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, 2003. Proceedings..

[18]  Narayanan Vijaykrishnan,et al.  Compiler optimizations for low power systems , 2002 .

[19]  Sharad Malik,et al.  Instruction level power analysis and optimization of software , 1996, J. VLSI Signal Process..

[20]  E. N. Elnozahy,et al.  Energy-Efficient Server Clusters , 2002, PACS.

[21]  Luca Benini,et al.  Dynamic power management for portable systems , 2000, MobiCom '00.

[22]  Carla Schlatter Ellis,et al.  Energy estimation tools for the Palm , 2000, MSWIM '00.

[23]  Luca Benini,et al.  Policy optimization for dynamic power management , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[24]  Enrique V. Carrera,et al.  Load balancing and unbalancing for power and performance in cluster-based systems , 2001 .

[25]  Luca Benini,et al.  Dynamic Power Management for Nonstationary Service Requests , 2002, IEEE Trans. Computers.

[26]  Won Namgoong,et al.  A high-efficiency variable-voltage CMOS dynamic dc-dc switching regulator , 1997, 1997 IEEE International Solids-State Circuits Conference. Digest of Technical Papers.

[27]  Li Shang,et al.  Dynamic voltage scaling with links for power optimization of interconnection networks , 2003, The Ninth International Symposium on High-Performance Computer Architecture, 2003. HPCA-9 2003. Proceedings..

[28]  Hee Yong Youn,et al.  Four-Ary Tree-Based Barrier Synchronization for 2D Meshes without Nonmember Involvement , 2001, IEEE Trans. Computers.

[29]  John Kubiatowicz,et al.  Exploiting prediction to reduce power on buses , 2004, 10th International Symposium on High Performance Computer Architecture (HPCA'04).

[30]  Mircea R. Stan,et al.  Bus-invert coding for low-power I/O , 1995, IEEE Trans. Very Large Scale Integr. Syst..

[31]  Y. Charlie Hu,et al.  Program counter based techniques for dynamic power management , 2004, 10th International Symposium on High Performance Computer Architecture (HPCA'04).

[32]  Parthasarathy Ranganathan,et al.  Energy-Driven Statistical Sampling: Detecting Software Hotspots , 2002, PACS.

[33]  Luca Benini,et al.  A survey of design techniques for system-level dynamic power management , 2000, IEEE Trans. Very Large Scale Integr. Syst..

[34]  Gang Quan,et al.  Energy efficient fixed-priority scheduling for real-time systems on variable voltage processors , 2001, DAC '01.

[35]  Todd M. Austin,et al.  The SimpleScalar tool set, version 2.0 , 1997, CARN.

[36]  Luca Benini,et al.  Dynamic power management using adaptive learning tree , 1999, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

[37]  Mahmut T. Kandemir,et al.  Using complete machine simulation for software power estimation: the SoftWatt approach , 2002, Proceedings Eighth International Symposium on High Performance Computer Architecture.

[38]  Mahmut T. Kandemir,et al.  The design and use of simplePower: a cycle-accurate energy estimation tool , 2000, Proceedings 37th Design Automation Conference.

[39]  Larry L. Peterson,et al.  Predicting MPEG execution times , 1998, SIGMETRICS '98/PERFORMANCE '98.

[40]  Lynn Conway,et al.  Introduction to VLSI systems , 1978 .

[41]  Luca Benini,et al.  Dynamic power management for nonstationary service requests , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[42]  F. Sano,et al.  A 300 MIPS/W RISC core processor with variable supply-voltage scheme in variable threshold-voltage CMOS , 1997, Proceedings of CICC 97 - Custom Integrated Circuits Conference.

[43]  Pradip Bose,et al.  Validation of Turandot, a fast processor model for microarchitecture exploration , 1999, 1999 IEEE International Performance, Computing and Communications Conference (Cat. No.99CH36305).

[44]  Michael C. Huang,et al.  The thrifty barrier: energy-aware synchronization in shared-memory multiprocessors , 2004, 10th International Symposium on High Performance Computer Architecture (HPCA'04).

[45]  Margaret Martonosi,et al.  Wattch: a framework for architectural-level power analysis and optimizations , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[46]  Fred Douglis,et al.  Adaptive Disk Spin-Down Policies for Mobile Computers , 1995, Comput. Syst..

[47]  Mahadev Satyanarayanan,et al.  PowerScope: a tool for profiling the energy usage of mobile applications , 1999, Proceedings WMCSA'99. Second IEEE Workshop on Mobile Computing Systems and Applications.

[48]  Manish Gupta,et al.  Power-Aware Microarchitecture: Design and Modeling Challenges for Next-Generation Microprocessors , 2000, IEEE Micro.

[49]  Allen C.-H. Wu,et al.  A predictive system shutdown method for energy saving of event-driven computation , 1997, ICCAD 1997.

[50]  Luca Benini,et al.  Analysis of power consumption on switch fabrics in network routers , 2002, DAC '02.

[51]  Giovanni De Micheli,et al.  Software controlled power management , 1999, CODES '99.

[52]  Jorg Henkel,et al.  A/sup 2/BC: adaptive address bus coding for low power deep sub-micron designs , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[53]  Luca Benini,et al.  Low-power task scheduling for multiple devices , 2000, CODES '00.

[54]  Dongkun Shin,et al.  Intra-Task Voltage Scheduling for Low-Energy, Hard Real-Time Applications , 2001, IEEE Des. Test Comput..

[55]  Allen C.-H. Wu,et al.  A predictive system shutdown method for energy saving of event-driven computation , 1997, 1997 Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[56]  Hiroyuki Tomiyama,et al.  Instruction scheduling for power reduction in processor-based system design , 1998, Proceedings Design, Automation and Test in Europe.

[57]  Massoud Pedram,et al.  Dynamic power management based on continuous-time Markov decision processes , 1999, DAC '99.

[58]  A. Veidenbaum,et al.  Architectural and compiler strategies for dynamic power management in the COPPER project , 2001, 2001 Innovative Architecture for Future Generation High-Performance Processors and Systems.