Single Region vs. Multiple Regions: A Comparison of Different Compiler-Directed Dynamic Voltage Scheduling Approaches

This paper evaluates five policies for cluster-wide power management in server farms. The policies employ various combinations of dynamic voltage scaling and node vary-on/vary-off (VOVO) to reduce the aggregate power consumption of a server cluster during periods of reduced workload. We evaluate the policies using a validated simulator that calculates the energy usage and response times of a Web server cluster serving traces culled from real-life Web server workloads. Our results show that a relatively simple policy of independent dynamic voltage scaling on each server node can achieve savings ranging up to 29% and is competitive with more complex schemes for some workloads. A policy that brings nodes online and takes them offline depending on the workload intensity also produces significant savings up to 42%. The largest savings are obtained by using a coordinated voltage scaling policy in conjunction with VOVO. This policy provides up to 18% more savings than just using VOVO in isolation. All five policies maintain server response times within acceptable norms.

[1]  Dongkun Shin,et al.  A profile-based energy-efficient intra-task voltage scheduling algorithm for hard real-time applications , 2001, ISLPED'01: Proceedings of the 2001 International Symposium on Low Power Electronics and Design (IEEE Cat. No.01TH8581).

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

[3]  Arun Iyengar,et al.  A Scalable and Highly Available System for Serving Dynamic Data at Frequently Accessed Web Sites , 1998, Proceedings of the IEEE/ACM SC98 Conference.

[4]  Michael S. Hsiao,et al.  Compiler-Directed Dynamic Frequency and Voltage Scheduling , 2000, PACS.

[5]  Hiroto Yasuura,et al.  Voltage scheduling problem for dynamically variable voltage processors , 1998, Proceedings. 1998 International Symposium on Low Power Electronics and Design (IEEE Cat. No.98TH8379).

[6]  Rajesh Gupta,et al.  Profile-based dynamic voltage scheduling using program checkpoints , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[7]  James R. Larus,et al.  Using Paths to Measure, Explain, and Enhance Program Behavior , 2000, Computer.

[8]  James R. Goodman,et al.  Hardware techniques to improve the performance of the processor/memory interface , 1998 .

[9]  Alan Jay Smith,et al.  Improving dynamic voltage scaling algorithms with PACE , 2001, SIGMETRICS '01.

[10]  Jorge J. Moré,et al.  The NEOS Server , 1998 .

[11]  E. N. Elnozahy,et al.  Measuring Client-Perceived Response Time on the WWW , 2001, USITS.

[12]  Sven Leyffer,et al.  Integrating SQP and Branch-and-Bound for Mixed Integer Nonlinear Programming , 2001, Comput. Optim. Appl..

[13]  Mary Jane Irwin,et al.  Low Power Design: From Soup to Nuts , 2000 .

[14]  Krisztián Flautner,et al.  Automatic Performance Setting for Dynamic Voltage Scaling , 2001, MobiCom '01.

[15]  Michael S. Hsiao,et al.  A Hardware Architecture for Dynamic Performance and Energy Adaptation , 2002, PACS.

[16]  Majid Sarrafzadeh,et al.  Variable voltage scheduling , 1995, ISLPED '95.

[17]  Amin Vahdat,et al.  Every joule is precious: the case for revisiting operating system design for energy efficiency , 2000, ACM SIGOPS European Workshop.

[18]  Enrique V. Carrera,et al.  Load balancing and unbalancing for power and performance in cluster-based systems , 2001 .

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

[20]  Krishnendu Chakrabarty,et al.  Investigating the effect of voltage-switching on low-energy task scheduling in hard real-time systems , 2001, ASP-DAC '01.

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

[22]  Rami Melhem,et al.  Toward the placement of power management points in real-time applications , 2003 .

[23]  Trevor N. Mudge,et al.  Power: A First-Class Architectural Design Constraint , 2001, Computer.

[24]  Seongsoo Lee,et al.  Run-time voltage hopping for low-power real-time systems , 2000, DAC.

[25]  Chaitali Chakrabarti,et al.  Variable voltage task scheduling algorithms for minimizing energy , 2001, ISLPED '01.

[26]  Daniel Moss,et al.  Compiler-assisted dynamic power-aware scheduling for real-time applications , 2000 .

[27]  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).

[28]  Ulrich Kremer,et al.  Compiler-Directed Dynamic Voltage Scaling Based on Program Regions , 2001 .

[29]  Amin Vahdat,et al.  Managing energy and server resources in hosting centers , 2001, SOSP.

[30]  Todd M. Austin,et al.  The SimpleScalar tool set, version 2.0 , 1997, CARN.

[31]  Mark Horowitz,et al.  Energy dissipation in general purpose microprocessors , 1996, IEEE J. Solid State Circuits.

[32]  Dongkun Shin,et al.  Intra-Task Voltage Scheduling for Low-Energy, Hard Real-Time Applications , 2001, IEEE Des. Test Comput..

[33]  David Kroft,et al.  Lockup-free instruction fetch/prefetch cache organization , 1998, ISCA '81.