skip to main content
article
Open access

Intraprogram dynamic voltage scaling: Bounding opportunities with analytic modeling

Published: 01 September 2004 Publication History

Abstract

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 needs. Since CPU power consumption is strongly dependent on the supply voltage, DVS exploits the ability to control the power consumption by varying a processor's supply voltage and clock frequency. However, because of the energy and time overhead associated with switching DVS modes, DVS control has been used mainly at the interprogram level.In this paper, we explore the opportunities and limits of intraprogram DVS scheduling. An analytical model is derived to predict the maximum energy savings that can be obtained using intraprogram DVS given a few known program and processor parameters. This model gives insights into scenarios where energy consumption benefits from intraprogram DVS and those where there is no benefit. The model helps us extrapolate the benefits of intraprogram DVS into the future as processor parameters change. We then examine how much of these predicted benefits can actually be achieved through compile-time optimal settings of DVS modes. We extend an existing mixed-integer linear program formulation for this scheduling 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 intraprogram compile-time DVS management, providing both practical techniques for its immediate deployment as well theoretical bounds for use into the future.

References

[1]
AbouGhazaleh, N., Childers, B., Mosse, D., Melhem, R., and Craven, M. 2003. Energy management for real-time embedded applications with compiler support languages. In Proceedings of the Languages, Compilers, and Tools for Embedded Systems(LCTES'03).]]
[2]
Advanced Micro Devices Corporation. 2002. AMD-K6 Processor Mobile Tech Docs. Available at http://www.amd.com.]]
[3]
Brooks, D., Tiwari, V., and Martonosi, M. 2000. Wattch: A framework for architectural-level power analysis and optimizations. In Proceedings of the 27th International Symposium on Computer Architecture.]]
[4]
Burd, T. and Brodersen, R. 2000. Design issues for dynamic voltage scaling. In Proceedings of International Symposium on Low Power Electronics and Design (ISLPED-00).]]
[5]
Burger, D., Austin, T. M., and Bennett, S. 1996. Evaluating Future Microprocessors: The SimpleScalar Tool Set. Tech. rep. TR-1308. University of Wisconsin-Madison, Computer Sciences Department.]]
[6]
Clark, L. 2001. Circuit design of XscaleTM microprocessors. In 2001 Symposium on VLSI Circuits, Short Course on Physical Design for Low-Power and High-Performance Microprocessor Circuits.]]
[7]
Flautner, K., Reinhardt, S., and Mudge, T. 2001. Automatic performance setting for dynamic voltage scaling. In Mobile Computing and Networking. 260--271.]]
[8]
Fourer, R., Gay, D., and Kernighan, B. 1993. AMPL: A Modeling Language for Mathematical Programming. Boyd and Fraser Publishing Company, Danvers, MA.]]
[9]
Ghiasi, S., Casmira, J., and Grunwald, D. 2000. Using IPC variation in workloads with externally specified rates to reduce power consumption. In Workshop on Complexity-Effective Design.]]
[10]
Hsu, C. and Kremer, U. 2002. 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).]]
[11]
Hsu, C. and Kremer, U. 2003. The design, implementation, and evaluation of a compiler algorithm for CPU energy reduction. In Proceedings of ACM SIGPLAN Conference on Programming Languages, Design, and Implementation (PLDI'03).]]
[12]
Hughes, C., Srinivasan, J., and Adve, S. 2001. Saving energy with architectural and frequency adaptations for multimedia applications. In Proceedings of the 34th Annual International Symposium on Microarchitecture (MICRO-34).]]
[13]
Ilog Cplex. 2002. Web Page for ILOG CPLEX Mathematical Programming Software. Available from http://ilog.com/products/cplex/.]]
[14]
Im, C., Kim, H., and Ha, S. 2001. Dynamic voltage scheduling technique for low-power multimedia applications using buffers. In Proceedings of the 2001 International Symposium on Low Power Electronics and Design. 34--39.]]
[15]
Intel Corp. 2003a. Intel® SA-1110 Processor Developer's Manual. Available at http://developer.intel.com/design/strong/.]]
[16]
Intel Corp. 2003b. Intel XscaleTM Core Developer's Manual. Available at http://developer.intel.com/design/intelxscale/.]]
[17]
Ishihara, T. and Yasuura, H. 1998. Voltage scheduling problem for dynamically variable voltage processors. In International Symposium on Low Power Electronics and Design (ISLPED-98). 197--202.]]
[18]
Iyer, A. and Marculescu, D. 2002. Power efficiency of voltage scaling in multiple clock, multiple voltage cores. In Proceedings of the 2002 IEEE/ACM International Conference on Computer-Aided Design. 379--386.]]
[19]
Jeffay, K., Stanat, D. F., and Martel, C. U. 1991. On non-preemptive scheduling of periodic and sporadic tasks. In Proceedings of the 12th IEEE Symposium on Real-Time Systems. 129--139.]]
[20]
Jejurikar, R. and Gupta, R. 2002. Energy aware task scheduling with task synchronization for embedded real time systems. In Proceedings of the International Conference on Compilers, Architecture, and Synthesis for Embedded Systems. 164--169.]]
[21]
Joseph, R. and Martonosi, M. 2001. Run-time power estimation in high-performance microprocessors. In International Symposium on Low Power Electronics and Design (ISLPED).]]
[22]
Lee, C., Potkonjak, M., and Mangione-Smith, W. H. 1997. MediaBench: A tool for evaluating and synthesizing multimedia and communication systems. In Proceedings of the 30th International Symposium on Microarchitecture.]]
[23]
Lee, S. and Sakurai, T. 2000. Run-time voltage hopping for low-power real-time systems. In Proceedings of the 37th Conference on Design Automation (DAC'00).]]
[24]
Liu, C. L. and Layland, J. W. 1973. Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal of the ACM 20, 1, 46--61.]]
[25]
Lorch, J. and Smith, A. 2001. Improving dynamic voltage algorithms with PACE. In Proceedings of the International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS 2001).]]
[26]
Luo, J. and Jha, N. K. 2003. Power-profile driven variable voltage scaling for heterogeneous distributed real-time embedded systems. In International Conference on VLSI Design.]]
[27]
Magklis, G., Scott, M., Semeraro, G., Albonesi, D., and Dropsho, S. 2003. Dynamic frequency and voltage control for a multiple clock domain microarchitecture. In Proceedings of The 30th Annual International Symposium on Computer Architecture (ISCA-30).]]
[28]
Marculescu, D. 2000. On the use of microarchitecture-driven dynamic voltage scaling. In Workshop on Complexity-Effective Design.]]
[29]
MediaBench II. 2003. Web page for MediaBench II. Available at http://cares.icsl.ucla.edu/MediaBenchII/.]]
[30]
MpegTv. 1998. Mpeg Video Test Bitstreams. Available at http://www.mpeg.org/MPEG/video.html.]]
[31]
Pillai, P. and Shin, K. G. 2001. Real-time dynamic voltage scaling for low-power embedded operating systems. In Proceedings of the 18th ACM Symposium on Operating Systems Principles.]]
[32]
Qu, G. 2001. What is the limit of energy saving by dynamic voltage scaling? In Proceedings of the International Conference on Computer Aided Design.]]
[33]
Sakurai, T. and Newton, A. 1990. Alpha-power model, and its application to CMOS inverter delay and other formulas. IEEE J. Solid-State Circ. 25, 584--594.]]
[34]
Saputra, H., Kandemir, M., Vijaykrishnan, N., Irwin, M., Hu, J., Hsu, C.-H., and Kremer, U. 2002. 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).]]
[35]
Semiconductor Industry Association. 2001. International Technology Roadmap for Semiconductors. Available at http://public.itrs.net/Files/2001ITRS/Home.htm.]]
[36]
Shin, D., Kim, J., and Lee, S. 2001. Intra-task voltage scheduling for low-energy hard real-time applications. IEEE Des. Test Comput. 18, 2 (March/April), 20--30.]]
[37]
Sinha, A. and Chandrakasan, A. 2001. Dynamic voltage scheduling using adpative filtering of workload traces. In Proceedings of the 14th International Conference on VLSI Design.]]
[38]
Swaminathan, V. and Chakrabarty, K. 2001. 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).]]
[39]
Swaminathan, V., Schweizer, C., Chakrabarty, K., and Patel, A. 2002. Experiences in implementing an energy-driven task scheduler in rt-linux. In Proceedings of the Eighth IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'02). 229.]]
[40]
Weiser, M., Welch, B., Demers, A., and Shenker, S. 1994. Scheduling for reduced CPU energy. In the 1st Symposium on Operating Systems Design and Implementation (OSDI-94). 13--23.]]
[41]
Xie, F., Martonosi, M., and Malik, S. 2003. Compile-time dynamic voltage scaling settings: Opportunities and limits. In Proceedings of ACM SIGPLAN Conference on Programming Languages, Design, and Implementation (PLDI'03).]]
[42]
Zhang, Y., Hu, X., and Chen, D. 2003. Energy minimization of real-time tasks on variable voltage processors with transition energy overhead. In Proceedings of the ASP-DAC 2003 Design Automation Conference. 65--70.]]

Cited By

View all
  • (2023)Resource Optimization of Stream Processing in Layered Internet of Things2023 42nd International Symposium on Reliable Distributed Systems (SRDS)10.1109/SRDS60354.2023.00030(221-231)Online publication date: 25-Sep-2023
  • (2020)Pursuing Extreme Power Efficiency With PPCC Guided NoC DVFSIEEE Transactions on Computers10.1109/TC.2019.294980769:3(410-426)Online publication date: 1-Mar-2020
  • (2015)An Overview of Architecture-Level Power- and Energy-Efficient Design Techniques10.1016/bs.adcom.2015.04.001(1-57)Online publication date: 2015
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Architecture and Code Optimization
ACM Transactions on Architecture and Code Optimization  Volume 1, Issue 3
September 2004
121 pages
ISSN:1544-3566
EISSN:1544-3973
DOI:10.1145/1022969
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 September 2004
Published in TACO Volume 1, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Analytical model
  2. compiler
  3. dynamic voltage scaling
  4. low power
  5. mixed-integer linear programming

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)93
  • Downloads (Last 6 weeks)13
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Resource Optimization of Stream Processing in Layered Internet of Things2023 42nd International Symposium on Reliable Distributed Systems (SRDS)10.1109/SRDS60354.2023.00030(221-231)Online publication date: 25-Sep-2023
  • (2020)Pursuing Extreme Power Efficiency With PPCC Guided NoC DVFSIEEE Transactions on Computers10.1109/TC.2019.294980769:3(410-426)Online publication date: 1-Mar-2020
  • (2015)An Overview of Architecture-Level Power- and Energy-Efficient Design Techniques10.1016/bs.adcom.2015.04.001(1-57)Online publication date: 2015
  • (2014)Power-Efficient Computer Architectures: Recent AdvancesSynthesis Lectures on Computer Architecture10.2200/S00611ED1V01Y201411CAC0309:3(1-96)Online publication date: Dec-2014
  • (2014)Low-Power Software ApproachesLow-Power VLSI Circuits and Systems10.1007/978-81-322-1937-8_12(355-386)Online publication date: 18-Nov-2014
  • (2013)Adaptive scheduling of real-time systems cosupplied by renewable and nonrenewable energy sourcesACM Transactions on Embedded Computing Systems10.1145/2536747.253675813:1s(1-28)Online publication date: 6-Dec-2013
  • (2013)Design and Management of VFI Partitioned Networks-on-ChipModeling, Analysis and Optimization of Network-on-Chip Communication Architectures10.1007/978-94-007-3958-1_8(135-154)Online publication date: 13-Mar-2013
  • (2012)Ensuring Safety, Security, and Sustainability of Mission-Critical Cyber–Physical SystemsProceedings of the IEEE10.1109/JPROC.2011.2165689100:1(283-299)Online publication date: Jan-2012
  • (2011)Power management of online data-intensive servicesACM SIGARCH Computer Architecture News10.1145/2024723.200010339:3(319-330)Online publication date: 4-Jun-2011
  • (2011)Power management of online data-intensive servicesProceedings of the 38th annual international symposium on Computer architecture10.1145/2000064.2000103(319-330)Online publication date: 4-Jun-2011
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media