Racing and Pacing to Idle : Minimizing Energy Under Performance Constraints

The problem of minimizing energy for a realtime performance constraint has been widely studied, both in theory and in practice. Theoretical models have indicated large potential energy savings, but practical concerns have made these savings hard to realize. Instead, practitioners often rely on the race-to-idle heuristic, which makes all resources available to a task and then idles the system until the next task is released. While this heuristic has proven effective, recent results indicate that more sophisticated resource allocation schemes may now provide greater energy savings. This paper investigates resource allocation heuristics for real-time constraints using both analytical and empirical techniques. We formalize the problem as a linear program and develop a geometric interpretation, allowing derivation of the optimality conditions for various heuristics. We then demonstrate that the pace-to-idle heuristic is often better and never worse than race-to-idle. We confirm these analytical results by implementing a resource allocator based on the studied heuristics and measuring energy consumption for eight different applications on four different systems. The results confirm that pace-to-idle produces better energy savings than race-to-idle, by up to 20% on the newest platform in our study.

[1]  Tei-Wei Kuo,et al.  System-Level Energy-Efficiency for Real-Time Tasks , 2007, 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'07).

[2]  Ragunathan Rajkumar,et al.  Critical power slope: understanding the runtime effects of frequency scaling , 2002, ICS '02.

[3]  Susanne Albers,et al.  Algorithms for Dynamic Speed Scaling , 2011, STACS.

[4]  Rami G. Melhem,et al.  Dynamic and aggressive scheduling techniques for power-aware real-time systems , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[5]  Susanne Albers,et al.  Race to idle: New algorithms for speed scaling with a sleep state , 2012, TALG.

[6]  Kai Li,et al.  The PARSEC benchmark suite: Characterization and architectural implications , 2008, 2008 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[7]  Giuseppe Lipari,et al.  Minimizing CPU energy in real-time systems with discrete speed management , 2009, TECS.

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

[9]  Steve Goddard,et al.  SYS-EDF: a system-wide energy-efficient scheduling algorithm for hard real-time systems , 2009, Int. J. Embed. Syst..

[10]  Thomas L. Magnanti,et al.  Applied Mathematical Programming , 1977 .

[11]  Kang G. Shin,et al.  Real-time dynamic voltage scaling for low-power embedded operating systems , 2001, SOSP.

[12]  Wei Song,et al.  Real-energy: A new framework and a case study to evaluate power-aware real-time scheduling algorithms , 2010, 2010 ACM/IEEE International Symposium on Low-Power Electronics and Design (ISLPED).

[13]  Henry Hoffmann,et al.  A Generalized Software System for Accurate and Efficient Management of Application Performance Goals , 2013, EMSOFT 2013.

[14]  Ravi Iyengar,et al.  28nm high- metal-gate heterogeneous quad-core CPUs for high-performance and energy-efficient mobile application processor , 2013, 2013 IEEE International Solid-State Circuits Conference Digest of Technical Papers.

[15]  Douglas L. Jones,et al.  GRACE-2: integrating fine-grained application adaptation with global adaptation for saving energy , 2009, Int. J. Embed. Syst..

[16]  Gernot Heiser,et al.  Slow Down or Sleep, That Is the Question , 2011, USENIX Annual Technical Conference.

[17]  Gernot Heiser,et al.  Mobile multicores: use them or waste them , 2014, ACM SIGOPS Oper. Syst. Rev..

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

[19]  Kirk Pruhs,et al.  Average Rate Speed Scaling , 2008, Algorithmica.

[20]  Luiz André Barroso,et al.  The Case for Energy-Proportional Computing , 2007, Computer.

[21]  Nikhil Bansal,et al.  Scheduling for Speed Bounded Processors , 2008, ICALP.

[22]  J. Meindl,et al.  The impact of intrinsic device fluctuations on CMOS SRAM cell stability , 2001, IEEE J. Solid State Circuits.

[23]  Prudence W. H. Wong,et al.  Optimizing throughput and energy in online deadline scheduling , 2009, TALG.

[24]  Luiz André Barroso,et al.  The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines , 2009, The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines.

[25]  Ragunathan Rajkumar,et al.  Practical voltage-scaling for fixed-priority RT-systems , 2003, The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, 2003. Proceedings..

[26]  Joël Goossens,et al.  A global optimal scheduling algorithm for multiprocessor low-power platforms , 2012, RTNS '12.

[27]  N. Bansal,et al.  Speed scaling with an arbitrary power function , 2009, SODA 2009.

[28]  Leon Atkins,et al.  Algorithms for power savings , 2014 .

[29]  Alon Naveh,et al.  Power management architecture of the 2nd generation Intel® Core microarchitecture, formerly codenamed Sandy Bridge , 2011, IEEE Hot Chips Symposium.

[30]  Xue Liu,et al.  Dynamic Voltage Scaling in Multitier Web Servers with End-to-End Delay Control , 2007, IEEE Transactions on Computers.