Compiler-Directed Energy Optimization for Parallel Disk Based Systems

Disk subsystem is known to be a major contributor to overall power consumption of high-end parallel systems. Past research proposed several architectural-level techniques to reduce disk power by taking advantage of idle periods experienced by disks. Although such techniques have been known to be effective in certain cases, they share a common drawback: they operate in a reactive manner, i.e., they control disk power by observing past disk activity (for example, idle and active periods) and estimating future ones. Consequently, they can miss opportunities for saving power and incur significant performance penalties due to inaccuracies in predicting idle and active times. Motivated by this observation, this paper proposes and evaluates a compiler-driven approach to reducing disk power consumption of array-based scientific applications executing on parallel architectures. The proposed approach exposes disk layout information to the compiler, allowing it to derive the disk access pattern, i.e., the order in which parallel disks are accessed. This paper demonstrates two uses of this information. First, we can implement proactive disk power management, i.e., we can select the most appropriate power-saving strategy and disk-preactivation strategy based on the compiler-predicted future idle and active periods of parallel disks. Second, we can restructure the application code to increase the length of idle disk periods, which leads to better exploitation of available power-saving capabilities. We implemented both these approaches within an optimizing compiler and tested their effectiveness using a set of benchmark codes from the Spec 2000 suite and a disk power simulator. Our results show that the compiler-driven disk power management is very promising. The experimental results also reveal that, although proactive disk power management is very effective, code restructuring for disk power achieves additional energy savings across all the benchmarks tested, and these savings are very close to optimal savings that can be obtained through an integer linear programming (ILP)-based scheme.

[1]  Thomas D. Burd,et al.  The simulation and evaluation of dynamic voltage scaling algorithms , 1998, Proceedings. 1998 International Symposium on Low Power Electronics and Design (IEEE Cat. No.98TH8379).

[2]  Michael L. Scott,et al.  Energy efficient prefetching and caching , 2004 .

[3]  Monica S. Lam,et al.  Automatic computation and data decomposition for multiprocessors , 1997 .

[4]  William Pugh,et al.  A practical algorithm for exact array dependence analysis , 1992, CACM.

[5]  Amin Vahdat,et al.  Managing energy and server resources in hosting centers , 2001, SOSP.

[6]  Luca Benini,et al.  Symbolic synthesis of clock-gating logic for power optimization of synchronous controllers , 1999, TODE.

[7]  Jeffrey S. Chase,et al.  Energy management for server clusters , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[8]  Yuanyuan Zhou,et al.  Reducing Energy Consumption of Disk Storage Using Power-Aware Cache Management , 2004, 10th International Symposium on High Performance Computer Architecture (HPCA'04).

[9]  Luca Benini,et al.  Energy-efficient design of battery-powered embedded systems , 1999, Proceedings. 1999 International Symposium on Low Power Electronics and Design (Cat. No.99TH8477).

[10]  Kang G. Shin,et al.  Real-time dynamic voltage scaling for low-power embedded operating systems , 2001, SOSP.

[11]  Yuanyuan Zhou,et al.  PB-LRU: a self-tuning power aware storage cache replacement algorithm for conserving disk energy , 2004, ICS '04.

[12]  Jeffrey S. Chase,et al.  Balance of Power: Energy Management for Server Clusters , 2001 .

[13]  Mahmut T. Kandemir,et al.  Disk layout optimization for reducing energy consumption , 2005, ICS '05.

[14]  Monica S. Lam,et al.  Maximizing Multiprocessor Performance with the SUIF Compiler , 1996, Digit. Tech. J..

[15]  Paul Horton,et al.  A Quantitative Analysis of Disk Drive Power Management in Portable Computers , 1994, USENIX Winter.

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

[17]  E. N. Elnozahy,et al.  Energy Conservation Policies for Web Servers , 2003, USENIX Symposium on Internet Technologies and Systems.

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

[19]  Michael Wolfe,et al.  High performance compilers for parallel computing , 1995 .

[20]  Mahmut T. Kandemir,et al.  DRPM: dynamic speed control for power management in server class disks , 2003, 30th Annual International Symposium on Computer Architecture, 2003. Proceedings..

[21]  Mahmut T. Kandemir,et al.  Energy optimization techniques in cluster interconnects , 2003, ISLPED '03.

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

[23]  Guy L. Steele,et al.  The High Performance Fortran Handbook , 1993 .

[24]  Laurence A. Wolsey,et al.  Integer and Combinatorial Optimization , 1988, Wiley interscience series in discrete mathematics and optimization.

[25]  Li-Shiuan Peh,et al.  Leakage power modeling and optimization in interconnection networks , 2003, ISLPED '03.

[26]  Mahmut T. Kandemir,et al.  Exposing disk layout to compiler for reducing energy consumption of parallel disk based systems , 2005, PPOPP.

[27]  Ricardo Bianchini,et al.  Application transformations for energy and performance-aware device management , 2002, Proceedings.International Conference on Parallel Architectures and Compilation Techniques.

[28]  Yuanyuan Zhou,et al.  Hibernator: helping disk arrays sleep through the winter , 2005, SOSP '05.

[29]  Steven S. Muchnick,et al.  Advanced Compiler Design and Implementation , 1997 .

[30]  P. Krishnan,et al.  Thwarting the Power-Hungry Disk , 1994, USENIX Winter.

[31]  Ricardo Bianchini,et al.  Conserving disk energy in network servers , 2003, ICS '03.

[32]  Gregory R. Ganger,et al.  The DiskSim Simulation Environment Version 4.0 Reference Manual (CMU-PDL-08-101) , 1998 .

[33]  Mahmut T. Kandemir,et al.  Interplay of energy and performance for disk arrays running transaction processing workloads , 2003, 2003 IEEE International Symposium on Performance Analysis of Systems and Software. ISPASS 2003..