This Article 
 Bibliographic References 
 Add to: 
Compiler-Directed Energy Optimization for Parallel Disk Based Systems
September 2007 (vol. 18 no. 9)
pp. 1241-1257
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. While 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 (e.g., 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 compiler, allowing it to derive 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 powersaving 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 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 Spec2000 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, while 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 ILP (Integer Linear Programming) based scheme.

[1] “Where Are All the Green Computers?” http://environment. acomputers.htm, 2004.
[2] J.M. Anderson, “Automatic Computation and Data Decomposition for Multiprocessors,” PhD thesis, CSL-TR-97-719, Stanford Univ., 1997.
[3] L. Benini, G.D. Micheli, E. Macii, M. Poncino, and R. Scarsi, “Symbolic Synthesis of Clock-Gating Logic for Power Optimization of Synchronous Controllers,” ACM Trans. Design Automation of Electronic Systems, vol. 4, no. 4, pp. 351-375, 1999.
[4] J.S. Bucy et al., “The DiskSim Simulation Environment Version 3.0 Reference Manual,” Technical Report CMU-CS-03-102, CMU, Jan. 2003.
[5] E.V. Carrera, E. Pinheiro, and R. Bianchini, “Conserving Disk Energy in Network Servers,” Proc. 17th Int'l Conf. Supercomputing, pp. 86-97, June 2003.
[6] J.S. Chase, D.C. Anderson, P.N. Thackar, A.M. Vahdat, and R.P. Boyle, “Managing Energy and Server Resources in Hosting Centers,” Proc. 18th Symp. Operating Systems Principles, pp. 103-116, Oct. 2001.
[7] J.S. Chase and R.P. Doyle, “Balance of Power: Energy Management for Server Clusters,” Proc. Eighth Workshop Hot Topics in Operating Systems, p. 165, May 2001.
[8] X. Chen and L. Peh, “Leakage Power Modeling and Optimization in Interconnection Networks,” Proc. Int'l Symp. Low Power and Electronics Design, pp. 90-95, Aug. 2003.
[9] F. Douglis, P. Krishnan, and B. Bershad, “Adaptive Disk Spin-Down Policies for Mobile Computers,” Proc. Second Symp. Mobile and Location-Independent Computing, pp. 121-137, 1995.
[10] F. Douglis, P. Krishnan, and B. Marsh, “Thwarting the Power-Hungry Disk,” Proc. Usenix Winter Conf., pp. 292-306, 1994.
[11] E.N.M. Elnozahy, M. Kistler, and R. Rajamony, “Energy-Efficient Server Clusters,” Proc. Second Workshop Power Aware Computing Systems, Feb. 2002.
[12] M. Elnozahy, M. Kistler, and R. Rajamony, “Energy Conservation Policies for Web Servers,” Proc. Fourth Usenix Symp. Internet Technologies and Systems, Mar. 2003.
[13] S. Gurumurthi, A. Sivasubramaniam, M. Kandemir, and H. Franke, “DRPM: Dynamic Speed Control for Power Management in Server Class Disks,” Proc. Int'l Symp. Computer Architecture, pp.169-179, June 2003.
[14] S. Gurumurthi, J. Zhang, A. Sivasubramaniam, M. Kandemir, H. Franke, N. Vijaykrishnan, and M.J. Irwin, “Interplay of Energy and Performance for Disk Arrays Running Transaction Processing Workloads,” Proc. Int'l Symp. Performance Analysis of Systems and Software, pp. 123-132, Mar. 2003.
[15] M.W. Hall, J.M. Anderson, S.P. Amarasinghe, B.R. Murphy, S.-W. Liao, E. Bugnion, and M.S. Lam, “Maximizing Multiprocessor Performance with the SUIF Compiler,” Computer, vol. 29, no. 12, pp. 84-89, Dec. 1996.
[16] T. Heath, E. Pinheiro, J. Hom, U. Kremer, and R. Bianchini, “Application Transformations for Energy and Performance-Aware Device Management,” Proc. Int'l Conf. Parallel Architectures and Compilation Techniques, pp. 121-130, Sept. 2002.
[17] “Hitachi Power and Acoustic Management—Quietly Cool,” whitepaper, Hitachi Global Storage Technologies, productfamiliesWhite_ Papers, Mar. 2004.
[18] “Adaptive Power Management for Mobile Hard Drives,” technical report, IBM Storage Systems Division, Apr. 1999, http://www. .
[19] “Ultrastar 36Z15 Hard Disk Drive,” IBM, http://www.hitachigst. com/hdd/ultraul36z15.htm , 2001.
[20] E.J. Kim, K.H. Yum, G. Link, M.K.N. Vijaykrishnan, M.J. Irwin, M. Yousif, and C.R. Das, “Energy Optimization Techniques in Cluster Interconnects,” Proc. Int'l Symp. Low Power Electronics and Design, pp. 459-464, Aug. 2003.
[21] C.H. Koelbel, D.B. Loveman, and R.S. Schreiber, The High Performance Fortran Handbook. MIT Press, 1993.
[22] K. Li, R. Kumpf, P. Horton, and T. Anderson, “A Quantitative Analysis of Disk Drive Power Management in Portable Computers,” Proc. Usenix Winter Conf., pp. 279-292, 1994.
[23] S.S. Muchnick, Advanced Compiler Design and Implementation. Morgan Kaufmann, 1997.
[24] G.L. Nemhauser and L.A. Wolsey, Integer and Combinatorial Optimization. Wiley-Interscience, 1988.
[25] A.E. Papathanasiou and M.L. Scott, “Energy Efficient Prefetching and Caching,” Proc. Usenix Ann. Technical Conf., pp. 255-268, 2004.
[26] M. Pedram, “Power Optimization and Management in Embedded Systems,” Proc. Conf. Asia South Pacific Design Automation, pp. 239-244, 2001.
[27] T. Pering, T. Burd, and R. Brodersen, “The Simulation and Evaluation of Dynamic Voltage Scaling Algorithms,” Proc. Int'l Symp. Low Power Electronics and Design, Aug. 1998.
[28] P. Pillai and K.G. Shin, “Real-Time Dynamic Voltage Scaling for Low-Power Embedded Operating Systems,” Proc. 18th ACM Symp. Operating Systems Principles, pp. 89-102, Aug. 2001.
[29] W. Pugh, “A Practical Algorithm for Exact Array Dependency Analysis,” Comm. ACM, vol. 35, no. 8, pp. 102-114, Aug. 1992.
[30] R.B. Ross, P.H. Carns, W.B. LigonIII, and R. Latham, “Using the Parallel Virtual File System,” , July 2002.
[31] T. Simunic, L. Benini, and G.D. Micheli, “Energy-Efficient Design of Battery-Powered Embedded Systems,” Proc. Int'l Symp. Low Power Electronics and Design, pp. 212-217, Aug. 1999.
[32] S.W. Son, G. Chen, and M. Kandemir, “Disk Layout Optimization for Reducing Energy Consumption,” Proc. 19th ACM Int'l Conf. Supercomputing, pp. 274-283, June 2005.
[33] S.W. Son, G. Chen, M. Kandemir, and A. Choudhary, “Exposing Disk Layout to Compiler for Reducing Energy Consumption of Parallel Disk Based Systems,” Proc. ACM SIGPLAN Symp. Principles and Practice of Parallel Programming, pp. 174-185, June 2005.
[34] “CFP 2000,” SPEC,, 2000.
[35] “Analyzing Program Performance with Sun WorkShop,” Sun Microsystems, , May 2000.
[36] M. Weiser, A. Demers, B. Welch, and S. Shenker, “Scheduling for Reduced CPU Energy,” Proc. Symp. Operating System Design and Implementation, pp. 13-23, Nov. 1994.
[37] M. Wolfe, High Performance Compilers for Parallel Computing. Addison-Wesley, 1996.
[38] Xpress-MP, pdf , May 2002.
[39] Q. Zhu, Z. Chen, L. Tan, Y. Zhou, K. Keeton, and J. Wilkes, “Hibernator: Helping Disk Arrays Sleep through the Winter,” Proc. 20th ACM Symp. Operating Systems Principles, Oct. 2005.
[40] Q. Zhu, F.M. David, C.F. Devaraj, Z. Li, Y. Zhou, and P. Cao, “Reducing Energy Consumption of Disk Storage Using Power-Aware Cache Management,” Proc. 10th Int'l Conf. High-Performance Computer Architecture, pp. 118-129, 2004.
[41] Q. Zhu, A. Shankar, and Y. Zhou, “PB-LRU: A Self-Tuning Power Aware Storage Cache Replacement Algorithm for Conserving Disk Energy,” Proc. 18th Ann. Int'l Conf. Supercomputing, pp. 79-88, 2004.

Index Terms:
Disk subsystem, I/O traces, optimizing compilers, power-aware computing, parallel I/O
Seung Woo Son, Guangyu Chen, Ozcan Ozturk, Mahmut Kandemir, Alok Choudhary, "Compiler-Directed Energy Optimization for Parallel Disk Based Systems," IEEE Transactions on Parallel and Distributed Systems, vol. 18, no. 9, pp. 1241-1257, Sept. 2007, doi:10.1109/TPDS.2007.1056
Usage of this product signifies your acceptance of the Terms of Use.