Improving dynamic voltage scaling algorithms with PACE

This paper addresses algorithms for dynamically varying (scaling) CPU speed and voltage in order to save energy. Such scaling is useful and effective when it is immaterial when a task completes, as long as it meets some deadline. We show how to modify any scaling algorithm to keep performance the same but minimize expected energy consumption. We refer to our approach as PACE (Processor Acceleration to Conserve Energy) since the resulting schedule increases speed as the task progresses. Since PACE depends on the probability distribution of the task's work requirement, we present methods for estimating this distribution and evaluate these methods on a variety of real workloads. We also show how to approximate the optimal schedule with one that changes speed a limited number of times. Using PACE causes very little additional overhead, and yields substantial reductions in CPU energy consumption. Simulations using real workloads show it reduces the CPU energy consumption of previously published algorithms by up to 49.5%, with an average of 20.6%, without any effect on performance.

[1]  Daniel P. Siewiorek,et al.  The impact of battery capacity and memory bandwidth on CPU speed-setting: a case study , 1999, Proceedings. 1999 International Symposium on Low Power Electronics and Design (Cat. No.99TH8477).

[2]  Anantha P. Chandrakasan,et al.  Low-power CMOS digital design , 1992 .

[3]  Thomas D. Burd,et al.  Design issues for Dynamic Voltage Scaling , 2000, ISLPED'00: Proceedings of the 2000 International Symposium on Low Power Electronics and Design (Cat. No.00TH8514).

[4]  William H. Press,et al.  The Art of Scientific Computing Second Edition , 1998 .

[5]  Philip Levis,et al.  Policies for dynamic clock scheduling , 2000, OSDI.

[6]  F. A. Seiler,et al.  Numerical Recipes in C: The Art of Scientific Computing , 1989 .

[7]  J. Flinn,et al.  Energy-aware adaptation for mobile applications , 1999, SOSP.

[8]  Alan Jay Smith,et al.  Energy consumption of Apple Macintosh computers , 1997 .

[9]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[10]  William H. Press,et al.  Book-Review - Numerical Recipes in Pascal - the Art of Scientific Computing , 1989 .

[11]  Hal Wasserman,et al.  Comparing algorithm for dynamic speed-setting of a low-power CPU , 1995, MobiCom '95.

[12]  P. Druschel,et al.  Soft timers: efficient microsecond software timer support for network processing , 2000, OPSR.

[13]  Scott Shenker,et al.  Scheduling for reduced CPU energy , 1994, OSDI '94.

[14]  N. L. Johnson,et al.  Continuous Univariate Distributions. , 1995 .

[15]  P. R. Fisk,et al.  Distributions in Statistics: Continuous Multivariate Distributions , 1971 .

[16]  A. Klaiber The Technology Behind Crusoe TM Processors Low-power x 86-Compatible Processors Implemented with Code Morphing , 2000 .

[17]  Alan Jay Smith,et al.  Apple Macintosh's energy consumption , 1998, IEEE Micro.

[18]  B. Silverman Density estimation for statistics and data analysis , 1986 .

[19]  Ben Shneiderman,et al.  Designing the user interface (2nd ed.): strategies for effective human-computer interaction , 1992 .

[20]  Ketan Mayer-Patel,et al.  Performance of a software MPEG video decoder , 1993, MULTIMEDIA '93.

[21]  Thomas D. Burd,et al.  The simulation and evaluation of dynamic voltage scaling algorithms , 1998, Proceedings. 1998 International Symposium on Low Power Electronics and Design (IEEE Cat. No.98TH8379).

[22]  Raj Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[23]  James C. Browne,et al.  Trace-driven modeling and analysis of CPU scheduling in a multiprogramming system , 1972, Commun. ACM.

[24]  F. Frances Yao,et al.  A scheduling model for reduced CPU energy , 1995, Proceedings of IEEE 36th Annual Foundations of Computer Science.

[25]  Alan Jay Smith,et al.  The VTrace tool: building a system tracer for Windows NT and Windows 2000 , 2000 .

[26]  B. Schneirdeman,et al.  Designing the User Interface: Strategies for Effective Human-Computer Interaction , 1998 .

[27]  Klaus H. Ecker,et al.  Scheduling Computer and Manufacturing Processes , 2001 .

[28]  Ray Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[29]  Terry L King Smooth Tests of Goodness of Fit , 1991 .