This Article 
 Bibliographic References 
 Add to: 
PACE: A New Approach to Dynamic Voltage Scaling
July 2004 (vol. 53 no. 7)
pp. 856-869

Abstract—By dynamically varying CPU speed and voltage, it is possible to save significant amounts of energy while still meeting prespecified soft or hard deadlines for tasks; numerous algorithms have been published with this goal. We show that it is possible to modify any voltage scaling algorithm to minimize energy use without affecting perceived performance and present a formula to do so optimally. Because this formula specifies increased speed as the task progresses, we call this approach PACE (Processor Acceleration to Conserve Energy). This optimal formula depends on the probability distribution of the task's work requirement and requires that the speed be varied continuously. We therefore present methods for estimating the task work distribution and evaluate how effective they are on a variety of real workloads. We also show how to approximate the optimal continuous schedule with one that changes speed a limited number of times. Using these methods, we find we can apply PACE practically and efficiently. Furthermore, PACE is extremely effective: Simulations using real workloads and the standard model for energy consumption as a function of voltage show that PACE can reduce the CPU energy consumption of existing algorithms by up to 49.5 percent, with an average of 20.6 percent, without any effect on perceived performance. The consequent PACE-modified algorithms reduce CPU energy consumption by an average of 65.4 percent relative to no dynamic voltage scaling, as opposed to only 54.3 percent without PACE.

[1] M. Aron and P. Druschel, Soft Timers: Efficient Microsecond Software Timer Support for Network Processing Proc. 17th ACM Symp. Operating Systems Principles (SOSP), pp. 232-246, Dec. 1999.
[2] H. Aydin, R. Melhem, D. Mossé, and P. Mejia-Alvarez, Dynamic and Aggressive Scheduling Techniques for Power-Aware Real-Time Systems Proc. 22nd IEEE Real-Time Systems Symp., Dec. 2001.
[3] T. Burd and R.W. Brodersen, Design Issues for Dynamic Voltage Scaling Proc. 2000 Int'l Symp. Low Power Electronics and Design, pp. 9-14, July 2000.
[4] E. Chan, K. Govil, and H. Wasserman, Comparing Algorithms for Dynamic Speed-Setting of a Low-Power CPU Proc. First ACM Int'l Conf. Mobile Computing and Networking (Mobicom '95), pp. 13-25, Nov. 1995.
[5] D. Grunwald, P. Levis, K.I. Farkas, C.B. Morrey III, and M. Neufeld, Policies for Dynamic Clock Scheduling Proc. Fourth Symp. Operating Systems Design and Implementation, Oct. 2000.
[6] A. Klaiber, The Technology behind Crusoe Processors white paper, Transmeta Corp., Jan. 2000.
[7] J.R. Lorch and A.J. Smith, Energy Consumption of Apple Macintosh Computers IEEE Micro, vol. 18, no. 6, pp. 54-63, Nov./Dec. 1998.
[8] J.R. Lorch and A.J. Smith, Improving Dynamic Voltage Scaling Algorithms with PACE Proc. 2001 ACM SIGMETRICS Conf., pp. 50-61, June 2001.
[9] J.R. Lorch and A.J. Smith, PACE: A New Approach to Dynamic Voltage Scaling Technical Report UCB/CSD-01-1136, Computer Science Division, Electrical Engineering and Computer Science Dept., Univ. of California at Berkeley, Mar. 2001.
[10] J.R. Lorch and A.J. Smith, Operating System Modifications for Task-Based Speed and Voltage Scheduling Proc. First Int'l Conf. Mobile Systems, Applications, and Services (Mobisys 2003), May 2003.
[11] T. Pering, T. Burd, and R. Brodersen, “The Simulation and Evaluation of Dynamic Voltage Scaling Algorithms,” Proc. Int'l Symp. Low Power Electronics and Design, pp. 76-81, Aug. 1998.
[12] P. Pillai and K.G. Shin, Real-Time Dynamic Voltage Scaling for Low-Power Embedded Operating Systems Proc. 18th ACM Symp. Operating Systems Principles (SOSP), pp. 89-102, Oct. 2001.
[13] V. Raghunathan, P. Spanos, and M.B. Srivastava, Adaptive Power-Fidelity in Energy-Aware Wireless Embedded Systems Proc. 2001 Real-Time Systems Symp. (RTSS), pp. 106-115, Dec. 2001.
[14] B. Shneiderman, Designing the User Interface: Strategies for Effective Human-Computer Interaction. Reading, Mass.: Addison-Wesley, 1998.
[15] B.W. Silverman, Density Estimation for Statistics and Data Analysis. London: Chapman and Hall, 1986.
[16] T. Simunic, L. Benini, A. Acquaviva, P. Glynn, and G.D. Micheli, Dynamic Voltage Scaling and Power Management for Portable Systems Proc. 38th Design Automation Conf., pp. 524-529, June 2001.
[17] M. Weiser, B. Welch, A. Demers, and S. Shenker, Scheduling for Reduced CPU Energy Proc. First Symp. Operating Systems Design and Implementation, pp. 13-23, Nov. 1994.
[18] N.H.E. Weste and K. Eshraghian, Principles of CMOS VLSI Design. Reading, Mass.: Addison-Wesley, 1993.

Index Terms:
Dynamic voltage scaling, energy management, power management, optimization algorithm.
Jacob R. Lorch, Alan Jay Smith, "PACE: A New Approach to Dynamic Voltage Scaling," IEEE Transactions on Computers, vol. 53, no. 7, pp. 856-869, July 2004, doi:10.1109/TC.2004.35
Usage of this product signifies your acceptance of the Terms of Use.