A practical algorithm for exact array dependence analysis
Communications of the ACM
Energy-efficient design of battery-powered embedded systems
ISLPED '99 Proceedings of the 1999 international symposium on Low power electronics and design
Symbolic synthesis of clock-gating logic for power optimization of synchronous controllers
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Power optimization and management in embedded systems
Proceedings of the 2001 Asia and South Pacific Design Automation Conference
Compiler-based I/O prefetching for out-of-core applications
ACM Transactions on Computer Systems (TOCS)
Managing energy and server resources in hosting centers
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
The High Performance FORTRAN Handbook
The High Performance FORTRAN Handbook
High Performance Compilers for Parallel Computing
High Performance Compilers for Parallel Computing
Application Transformations for Energy and Performance-Aware Device Management
Proceedings of the 2002 International Conference on Parallel Architectures and Compilation Techniques
Adaptive Disk Spin-down Policies for Mobile Computers
MLICS '95 Proceedings of the 2nd Symposium on Mobile and Location-Independent Computing
Conserving disk energy in network servers
ICS '03 Proceedings of the 17th annual international conference on Supercomputing
DRPM: dynamic speed control for power management in server class disks
Proceedings of the 30th annual international symposium on Computer architecture
Leakage power modeling and optimization in interconnection networks
Proceedings of the 2003 international symposium on Low power electronics and design
Energy optimization techniques in cluster interconnects
Proceedings of the 2003 international symposium on Low power electronics and design
Energy Management for Server Clusters
HOTOS '01 Proceedings of the Eighth Workshop on Hot Topics in Operating Systems
Automatic computation and data decomposition for multiprocessors
Automatic computation and data decomposition for multiprocessors
Energy conservation policies for web servers
USITS'03 Proceedings of the 4th conference on USENIX Symposium on Internet Technologies and Systems - Volume 4
Energy-efficient server clusters
PACS'02 Proceedings of the 2nd international conference on Power-aware computer systems
A Compiler-Guided Approach for Reducing Disk Power Consumption by Exploiting Disk Access Locality
Proceedings of the International Symposium on Code Generation and Optimization
Energy-aware data prefetching for multi-speed disks
Proceedings of the 3rd conference on Computing frontiers
Compiler-Directed Energy Optimization for Parallel Disk Based Systems
IEEE Transactions on Parallel and Distributed Systems
A Prefetching Algorithm for Multi-speed Disks
Transactions on High-Performance Embedded Architectures and Compilers I
Energy efficient and reliable storage disks
Proceedings of the 46th Annual Southeast Regional Conference on XX
Software-directed data access scheduling for reducing disk energy consumption
Proceedings of the 20th international symposium on High performance distributed computing
Analysis of disk power management for data-center storage systems
Proceedings of the 3rd International Conference on Future Energy Systems: Where Energy, Computing and Communication Meet
Hi-index | 0.00 |
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 the 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 do 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 length of idle 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 the best energy savings across all the benchmarks tested.