Energy-conscious compilation based on voltage scaling

H. Saputra, M. Kandemir, N. Vijaykrishnan, M. J. Irwin, J. S. Hu, C-H. Hsu, U. Kremer
2002 SIGPLAN notices  
As energy consumption has become a major constraint in current system design, it is essential to look beyond the traditional low-power circuit and architectural optimizations. Further, software is becoming an increasing portion of embedded portable systems. Consequently, optimizing the software in conjunction with the underlying low-power hardware features such a s v oltage scaling is vital. In this paper, we present t wo compiler-directed energy optimization strategies based on voltage
more » ... static voltage scaling and dynamic voltage scaling. In static voltage scaling, the compiler determines a single supply voltage level for the entire input program. We primarily aim at improving the energy consumption of a given code without increasing its execution time. To accomplish this, we employ classical loop-level compiler optimizations. However, we use these optimizations to create opportunities for voltage scaling to save energy, rather than increase program performance. In dynamic voltage scaling, the compiler can select di erent supply voltage levels for di erent parts of the code. Our compilation strategy is based on integer linear programming and can accommodate energy performance constraints. For a benchmark suite of array-based scienti c codes and embedded video image applications, our experiments show a verage energy savings of 31.8 when static voltage scaling is used. Our dynamic voltage scaling strategy saves 15.3 more energy than static voltage scaling when invoked under the same performance constraints.
doi:10.1145/566225.513832 fatcat:zcmdisnirnazndy3hwainplode