ABSTRACT
As energy consumption has become a majorconstraint 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 as voltage scaling is vital.In this paper, we present two compiler-directed energy optimization strategies based on voltage scaling: 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 different supply voltage levels for different 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 scientific codes and embedded video/image applications, our experiments show average 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.
- A. V. Aho, R. Sethi, and J. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1986]] Google ScholarDigital Library
- S. P. Amarasinghe, J. M. Anderson, M. S. Lam, and C. W. Tseng The SUIF compiler for scalable parallel machines. In Proc.the Seventh SIAM Conference on Parallel Processing for Scientific Computing, February, 1995]]Google Scholar
- System-level power estimation and optimization. In Proc. International Symposium Low Power Electronics and Design, Monterey, CA, 1998]] Google ScholarDigital Library
- T. Burd and R. Brodersen. Design issues for dynamic voltage scaling. In Proceedings of 2000 International Symposium on Low Power Electronics and Design (ISLPED'00), July 2000]] Google ScholarDigital Library
- D. Burger, T. Austin, and S. Bennett. Evaluating future microprocessors: the SimpleScalar tool set. Technical Report CS-TR-96-103, Computer Science Dept., University of Wisconsin, Madison, July 1996]]Google Scholar
- E. Chan, K. Govil, and H. Wasserman. Comparing algorithms for dynamic speed-setting of a low-power CPU. In Proc. the 1st ACM International Conference on Mobile Computing and Networking, pages 13--25, November 1995]] Google ScholarDigital Library
- R. Chen, R. Bajwa and M. J. Irwin. Architectural level power estimation and design experiments. ACM Transactions on Design Automation of Electronic Systems, 2001]] Google ScholarDigital Library
- A. Chandrakasan, W. J. Bowhill, and F. Fox. Design of High-Performance Microprocessor Circuits. IEEE Press, 2001]] Google ScholarDigital Library
- A. Chandrakasan and R. Brodersen. Low Power Digital CMOS Design. Kluwer Academic Publishers, 1995]] Google ScholarDigital Library
- A. P. Chandrakasan, M. Potkonjak, R. Mehra, J. Rabaey, and R. W. Brodersen. In Proc. Optimizing power using transformation, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 14, No. 1, pp. 12--30, January 1995]]Google Scholar
- B. Childers, H. Tang, and R. Melhem. Adapting processor supply voltage to instruction-level parallelism. In Kool Chips 2000 Workshop, December 2000]]Google Scholar
- V. Delaluz, M. Kandemir, N. Vijaykrishnan, A. Sivasubramaniam, and M. J. Irwin. DRAM energy management using software and hardware directed power mode control. In Proc. the 7th International Conference on High Performance Computer Architecture, Monterrey, Mexico, January 2001]] Google ScholarDigital Library
- D. Duarte, N. Vijaykrishnan, M. J. Irwin and M. Kandemir. Formulation and validation of an energy dissipation model for clock generation circuitry and distribution network. In Proc. International Conference on VLSI Design, January 2001]] Google ScholarDigital Library
- D. Duarte, N. Vijaykrishnan and Irwin, M.J., "A Complete Phase-Locked Loop Power Consumption Model", To appear in Proc. Design, Automation and Test in Europe Conference, March 2002]] Google ScholarDigital Library
- S. Ghiasi, J. Casmira, and D. Grunwald. Using IPC variation in workloads with externally specified rates to reduce power consumption. In Workshop on Complexity Effective Design, June 2000]]Google Scholar
- K. Govil, E. Chan, and H. Wasserman. Comparing algorithms for dynamic speed-setting of a low-power CPU. In the 1st ACM International Conference on Mobile Computing and Networking (MOBICOM-95), pages 13--25, November 1995]] Google ScholarDigital Library
- D. Grunwald, P. Levis, K. Farkas, C. Morrey III, and M. Neufeld. Policies for dynamic clock scheduling. In Proceedings of the 4th Symposium on Operating System Design and Implementation (OSDI-2000), October 2000]] Google ScholarDigital Library
- J. Hom and U. Kremer Energy management of virtual memory on diskless devices. In Proc. the 2nd Workshop on Compilers and Operating Systems for Low Power, attached to PACT'01, Barcelona, Spain, September 2001]]Google Scholar
- I. Hong, D. Kirovski, G. Qu, M. Potkonjak, and M. Srivastava. Power optimization of variable voltage core-based systems. In Proceedings of the 35th ACM/IEEE Design Automation Conference(DAC'98), pages 176--181, June 1998]] Google ScholarDigital Library
- C-H. Hsu, U. Kremer, and M. Hsiao. Compiler-directed dynamic frequency/voltage scheduling for energy reduction in microprocessors. In Proc. International Symposium on Low Power Electronics and Design, August 2001]] Google ScholarDigital Library
- C-H. Hsu and U. Kremer. Dynamic Voltage and frequency scaling for scientific applications. In Proc. the Workshop on Languages and Compilers for Parallel Computing, August 2001]]Google Scholar
- C.-H. Hsu and U. Kremer. Compiler-Directed Dynamic Voltage Scaling Based on Program Regions. Technical Report DCS-TR-461. Department of Computer Science, Rutgers University. Nov 2001]]Google ScholarDigital Library
- C.-H. Hsu and U. Kremer.Single Region vs. Multiple Regions: A Comparison of Different Compiler-Directed Dynamic Voltage Scheduling Approaches. Workshop on Power-Aware Computer Systems (PACS '02) Feb 2002]]Google Scholar
- P. Stanley-Marbell, M. Hsiao and U. Kremer. A Hardware Architecture for Dynamic Performance and Energy Adaption. Workshop on Power-Aware Computer Systems (PACS '02) Feb 2002]]Google Scholar
- T. Ishihara and H. Yasuura. Voltage scheduling problem for dynamically variable voltage processors. In International Symposium on Low Power Electronics and Design (ISLPED-98), pages 197--202, August 1998]] Google ScholarDigital Library
- M. Kandemir, N. Vijaykrishnan, M. J. Irwin, and W. Ye. Influence of compiler optimizations on system power. In Proc. the 37th Design Automation Conference, Los Angeles, California USA, June 5-9, 2000]] Google ScholarDigital Library
- W. Li. Compiling for NUMA parallel machines. Ph.D. Thesis, Cornell University, 1993]] Google ScholarDigital Library
- A. Manzak and C. Chakrabarti. Variable voltage task scheduling for minimizing energy or minimizing power. In Proceeding of the International Conference on Acoustics, Speech and Signal Processing, June 2000]] Google ScholarDigital Library
- D. Marculescu. Power efficient processors using multiple supply voltages. In Proc. the 1st Workshop on Compilers and Operating Systems for Low Power, attached to PACT'00, 2000]]Google Scholar
- D. Marculescu. On the use of microarchitecture-driven dynamic voltage scaling. In Workshop on Complexity-Effective Design, June 2000]]Google Scholar
- D. Mossé, H. Aydin, B. Childers, and R. Melhem. Compiler-assisted dynamic power-aware scheduling for real-time applications. In Workshop on Compiler and Operating Systems for Low Power (COLP'00), October 2000]]Google Scholar
- T. Okuma, T. Ishihara, and H. Yasuura. Real-time task scheduling for a variable voltage processor. In Proceedings of the 12th International Symposium on System Synthesis (ISSS'99), 1999]] Google ScholarDigital Library
- T. Pering, T. Burd, and R. Brodersen. Dynamic voltage scaling and the design of a low-power microprocessor system. In Proc. Power Driven Microarchitecture Workshop, attached to ISCA'98, June 1998]]Google Scholar
- J. Pouwelse, K. Langendoen, and H. Sips. Voltage scaling on a low-power microprocessor. In International Symposium on Mobile Multimedia Systems & Applications (MMSA'2000), November 2000]]Google Scholar
- H. Schwab. lp_solve Mixed Integer Linear Program Solver, ftp://ftp.es.ele.tue.nl/pub/lp_solve/]]Google Scholar
- W-T. Shiue and C. Chakrabarti. Memory exploration for low power, embedded systems, Technical Report CLPE-TR-9-1999-20, Arizona State University, 1999]]Google ScholarDigital Library
- V. Swaminathan and K. Chakrabarty. Investigating the effect of voltage switching on low-energy task scheduling in hard real-time systems. In Asia South Pacific Design Automation Conference (ASP-DAC'01), January/February 2001]] Google ScholarDigital Library
- V. Tiwari, S. Malik, A. Wolfe, and T. C. Lee. Instruction level power analysis and optimization of software, Journal of VLSI Signal Processing Systems, Vol. 13, No. 2, August 1996]]Google Scholar
- N. Vijaykrishnan, M. Kandemir, M. J. Irwin, H. S. Kim, and W. Ye. Energy-driven integrated hardware-software optimizations using SimplePower. In Proc. the International Symposium on Computer Architecture, Vancouver, British Columbia, June 2000]] Google ScholarDigital Library
- M. Weiser, B. Welch, A. Demers, and S. Shenker. Scheduling for reduced CPU energy. In Proc. the USENIX Symposium on Operating Systems Design and Implementation, 1994, pp. 13--23]] Google ScholarDigital Library
- M. Wolfe. High Performance Compilers for Parallel Computing, Addison-Wesley Publishing Company, 1996]] Google ScholarDigital Library
- F. Yao, A. Demers, and S. Shenker. A scheduling model for reduced cpu energy. In IEEE Annual Symposium on Foundations of Computer Science, pages 374--382, October 1995]] Google ScholarDigital Library
Index Terms
- Energy-conscious compilation based on voltage scaling
Recommendations
Energy-conscious compilation based on voltage scaling
As energy consumption has become a majorconstraint 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 ...
Quasi-static voltage scaling for energy minimization with time constraints
Supply voltage scaling and adaptive body biasing (ABB) are important techniques that help to reduce the energy dissipation of embedded systems. This is achieved by dynamically adjusting the voltage and performance settings according to the application ...
Compiler-Directed Energy Reduction Using Dynamic Voltage Scaling and Voltage Islands for Embedded Systems
Addressing power and energy consumption related issues early in the system design flow ensures good design and minimizes iterations for faster turnaround time. In particular, optimizations at software level, e.g., those supported by compilers, are very ...
Comments