ABSTRACT
With power-related concerns becoming dominant aspects of hardware and software design, significant research effort has been devoted towards system power minimization. Among run-time power-management techniques, dynamic voltage scaling (DVS) has emerged as an important approach, with the ability to provide significant power savings. DVS exploits the ability to control the power consumption by varying a processor's supply voltage (V) and clock frequency (f). DVS controls energy by scheduling different parts of the computation to different (V, f) pairs; the goal is to minimize energy while meeting performance needs. Although processors like the Intel XScale and Transmeta Crusoe allow software DVS control, such control has thus far largely been used at the process/task level under operating system control. This is mainly because the energy and time overhead for switching DVS modes is considered too large and difficult to manage within a single program.In this paper we explore the opportunities and limits of compile-time DVS scheduling. We derive an analytical model for the maximum energy savings that can be obtained using DVS given a few known program and processor parameters. We use this model to determine scenarios where energy consumption benefits from compile-time DVS and those where there is no benefit. The model helps us extrapolate the benefits of compile-time DVS into the future as processor parameters change. We then examine how much of these predicted benefits can actually be achieved through optimal settings of DVS modes. This is done by extending the existing Mixed-integer Linear Program (MILP) formulation for this problem by accurately accounting for DVS energy switching overhead, by providing finer-grained control on settings and by considering multiple data categories in the optimization. Overall, this research provides a comprehensive view of compile-time DVS management, providing both practical techniques for its immediate deployment as well theoretical bounds for use into the future.
- Advanced Micro Devices Corporation. AMD-K6 processor mobile tech docs, 2002. http://www.amd.com.Google Scholar
- T. Ball and J. R. Larus. Efficient path profiling. In International Symposium on Microarchitecture, pages 46--57, 1996. Google ScholarDigital Library
- D. Brooks, V. Tiwari, and M. Martonosi. Wattch: A framework for architectural-level power analysis and optimizations. In Proceedings of the 27th International Symposium on Computer Architecture, June 2000. Google ScholarDigital Library
- T. Burd and R. Brodersen. Design issues for dynamic voltage scaling. In Proceedings of International Symposium on Low Power Electronics and Design (ISLPED-00), June 2000. Google ScholarDigital Library
- D. Burger, T. M. Austin, and S. Bennett. Evaluating future microprocessors: the SimpleScalar tool set. Tech. Report TR-1308, Univ. of Wisconsin-Madison Computer Sciences Dept., July 1996.Google Scholar
- L. T. Clark. Circuit Design of XScale (tm) Microprocessors, 2001. In 2001 Symposium on VLSI Circuits, Short Course on Physical Design for Low-Power and High-Performance Microprocessor Circuits.Google Scholar
- K. Flautner, S. K. Reinhardt, and T. N. Mudge. Automatic performance setting for dynamic voltage scaling. In Mobile Computing and Networking, pages 260--271, 2001. Google ScholarDigital Library
- R. Fourer, D. Gay, and B. Kernighan. AMPL: A modeling language for mathematical programming. Boyd and Fraser Publishing Company, Danvers, Massachusetts, 1993.Google Scholar
- 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
- C. Hsu and U. Kremer. Single region vs. multiple regions: A comparison of different compiler-directed dynamic voltage scheduling approaches. In Proceedings of Workshop on Power-Aware Computer Systems (PACS'02), February 2002. Google ScholarDigital Library
- C. Hsu and U. Kremer. The design, implementation, and evaluation of a compiler algorithm for CPU energy reduction. In To appear in Proceedings of ACM SIGPLAN Conference on Programming Languages, Design, and Implementation (PLDI'03), June 2003. Google ScholarDigital Library
- C. Hughes, J. Srinivasan, and S. Adve. Saving energy with architectural and frequency adaptations for multimedia applications. In Proceedings of the 34th Annual International Symposium on Microarchitecture (MICRO-34), 2001. Google ScholarDigital Library
- ILOG CPLEX. Web page for ILOG CPLEX mathematical programming software, 2002. http://ilog.com/products/cplex/.Google Scholar
- Intel Corp. Intel XScale (tm) Core Developer's Manual, 2002. http://developer.intel.com/design/intelxscale/.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
- R. Joseph and M. Martonosi. Run-time power estimation in high-performance microprocessors. In International Symposium on Low Power Electronics and Design (ISLPED), 2001. Google ScholarDigital Library
- C. Lee, M. Potkonjak, and W. H. Mangione-Smith. MediaBench: A Tool for Evaluating and Synthesizing Multimedia and Communication Systems. In Proceedings of the 30th International Symp. on Microarchitecture, Dec. 1997. Google ScholarDigital Library
- S. Lee and T. Sakurai. Run-time voltage hopping for low-power real-time systems. In Proceedings of the 37th Conference on Design Automation (DAC'00), June 2000. Google ScholarDigital Library
- J. Lorch and A. Smith. Improving dynamic voltage algorithms with PACE. In Proceedings of the International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS 2001), June 2001. Google ScholarDigital Library
- J. Luo and N. K. Jha. Power-profile driven variable voltage scaling for heterogeneous distributed real-time embedded systems. In Int. Conf. VLSI design, Jan. 2003. Google ScholarDigital Library
- D. Marculescu. On the use of microarchitecture-driven dynamic voltage scaling. In Workshop on Complexity-Effective Design, June 2000.Google Scholar
- MpegTv. Mpeg video test bitstreams. http://www.mpeg.org/MPEG/video.html, 1998.Google Scholar
- G. Qu. What is the limit of energy saving by dynamic voltage scaling? In Proceedings of the International Conference on Computer Aided Design, 2001. Google ScholarDigital Library
- T. Sakurai and A. Newton. Alpha-power model, and its application to CMOS inverter delay and other formulas. IEEE Journal of Solid-State Circuits, 25:584--594, Apr 1990.Google ScholarCross Ref
- H. Saputra, M. Kandemir, N. Vijaykrishnan, M. Irwin, J. Hu, C.-H. Hsu, and U. Kremer. Energy-conscious compilation based on voltage scaling. In Joint Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES'02) and Software and Compilers for Embedded Systems (SCOPES'02), June 2002. Google ScholarDigital Library
- Semiconductor Industry Association. International Technology Roadmap for Semiconductors, 2001. http://public.itrs.net/Files/2001ITRS/Home.htm.Google Scholar
- D. Shin, J. Kim, and S. Lee. Intra-task voltage scheduling for low-energy hard real-time applications. IEEE Design and Test of Computers, 18(2):20--30, March/April 2001. 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
Index Terms
- Compile-time dynamic voltage scaling settings: opportunities and limits
Recommendations
Compile-time dynamic voltage scaling settings: opportunities and limits
With power-related concerns becoming dominant aspects of hardware and software design, significant research effort has been devoted towards system power minimization. Among run-time power-management techniques, dynamic voltage scaling (DVS) has emerged ...
Intraprogram dynamic voltage scaling: Bounding opportunities with analytic modeling
Dynamic voltage scaling (DVS) has become an important dynamic power-management technique to save energy. DVS tunes the power-performance tradeoff to the needs of the application. The goal is to minimize energy consumption while meeting performance ...
The limit of dynamic voltage scaling and insomniac dynamic voltage scaling
Dynamic voltage scaling (DVS) is a popular approach for energy reduction of integrated circuits. Current processors that use DVS typically have an operating voltage range from full to half of the maximum Vdd. However, there is no fundamental reason why ...
Comments