JouleGuard: energy guarantees for approximate applications

Energy consumption limits battery life in mobile devices and increases costs for servers and data centers. Approximate computing addresses energy concerns by allowing applications to trade accuracy for decreased energy consumption. Approximation frameworks can guarantee accuracy or performance and generally reduce energy usage; however, they provide no energy guarantees. Such guarantees would be beneficial for users who have a fixed energy budget and want to maximize application accuracy within that budget. We address this need by presenting JouleGuard: a runtime control system that coordinates approximate applications with system resource usage to provide control theoretic formal guarantees of energy consumption, while maximizing accuracy. We implement JouleGuard and test it on three different platforms (a mobile, tablet, and server) with eight different approximate applications created from two different frameworks. We find that JouleGuard respects energy budgets, provides near optimal accuracy, adapts to phases in application workload, and provides better outcomes than application approximation or system resource adaptation alone. JouleGuard is general with respect to the applications and systems it controls, making it a suitable runtime for a number of approximate computing frameworks.

[1]  Michel Tokic,et al.  Adaptive epsilon-Greedy Exploration in Reinforcement Learning Based on Value Difference , 2010, KI.

[2]  Henry Hoffmann,et al.  A generalized software framework for accurate and efficient management of performance goals , 2013, 2013 Proceedings of the International Conference on Embedded Software (EMSOFT).

[3]  William S. Levine,et al.  The Control Handbook , 2005 .

[4]  Klara Nahrstedt,et al.  A control-based middleware framework for quality-of-service adaptations , 1999, IEEE J. Sel. Areas Commun..

[5]  Andrew S. Tanenbaum,et al.  Modern Operating Systems: Jumpstart Sampling Edition , 2008 .

[6]  Gargi Dasgupta,et al.  Server Workload Analysis for Power Minimization using Consolidation , 2009, USENIX Annual Technical Conference.

[7]  Michel Tokic Adaptive ε-greedy Exploration in Reinforcement Learning Based on Value Differences , 2010 .

[8]  Fangzhe Chang,et al.  Automatic configuration and run-time adaptation of distributed applications , 2000, Proceedings the Ninth International Symposium on High-Performance Distributed Computing.

[9]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.

[10]  PalemKrishna,et al.  Ten Years of Building Broken Chips , 2013 .

[11]  Mahadev Satyanarayanan,et al.  Managing battery lifetime with energy-aware adaptation , 2004, TOCS.

[12]  Engin Ipek,et al.  Coordinated management of multiple interacting resources in chip multiprocessors: A machine learning approach , 2008, 2008 41st IEEE/ACM International Symposium on Microarchitecture.

[13]  Henry Hoffmann Racing and pacing to idle: an evaluation of heuristics for energy-aware resource allocation , 2013, HotPower '13.

[14]  Henry Hoffmann,et al.  Dynamic knobs for responsive power-aware computing , 2011, ASPLOS XVI.

[15]  Mark D. Corner,et al.  Eon: a language and runtime system for perpetual systems , 2007, SenSys '07.

[16]  Alan Edelman,et al.  Language and compiler support for auto-tuning variable-accuracy algorithms , 2011, International Symposium on Code Generation and Optimization (CGO 2011).

[17]  Peter D. Düben,et al.  On the use of inexact, pruned hardware in atmospheric modelling , 2014, Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences.

[18]  David Wentzlaff,et al.  The sharing architecture: sub-core configurability for IaaS clouds , 2014, ASPLOS 2014.

[19]  Luis Ceze,et al.  Neural Acceleration for General-Purpose Approximate Programs , 2012, 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture.

[20]  Steven Hand,et al.  Self-adaptive and self-configured CPU resource provisioning for virtualized servers using Kalman filters , 2009, ICAC '09.

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

[22]  Karl-Erik Årzén,et al.  A Game-Theoretic Resource Manager for RT Applications , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[23]  Henry Hoffmann,et al.  Power Optimization in Embedded Systems via Feedback Control of Resource Allocation , 2013, IEEE Transactions on Control Systems Technology.

[24]  Calton Pu,et al.  A feedback-driven proportion allocator for real-rate scheduling , 1999, OSDI '99.

[25]  Kaushik Velusamy,et al.  Modern Operating Systems , 2015 .

[26]  Henry Hoffmann,et al.  Patterns and statistical analysis for understanding reduced resource computing , 2010, OOPSLA.

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

[28]  Lingamneni Avinash,et al.  Ten Years of Building Broken Chips: The Physics and Engineering of Inexact Computing , 2013, TECS.

[29]  Srinivas Devadas,et al.  Selecting Spatiotemporal Patterns for Development of Parallel Applications , 2012, IEEE Transactions on Parallel and Distributed Systems.

[30]  David C. Snowdon,et al.  Koala: a platform for OS-level power management , 2009, EuroSys '09.

[31]  Manuel Prieto,et al.  Survey of Energy-Cognizant Scheduling Techniques , 2013, IEEE Transactions on Parallel and Distributed Systems.

[32]  Karl Johan Åström,et al.  Adaptive Control , 1989, Embedded Digital Control with Microcontrollers.

[33]  Woongki Baek,et al.  Green: a framework for supporting energy-conscious programming using controlled approximation , 2010, PLDI '10.

[34]  Nikil D. Dutt,et al.  Exploiting Partially-Forgetful Memories for Approximate Computing , 2015, IEEE Embedded Systems Letters.

[35]  Una-May O'Reilly,et al.  Siblingrivalry: online autotuning through local competitions , 2012, CASES '12.

[36]  Michael F. P. O'Boyle,et al.  A Predictive Model for Dynamic Microarchitectural Adaptivity Control , 2010, 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture.

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

[38]  Martin C. Rinard,et al.  Verifying quantitative reliability for programs that execute on unreliable hardware , 2013, OOPSLA.

[39]  Asit K. Mishra,et al.  METE: meeting end-to-end QoS in multicores through system-wide resource management , 2011, PERV.

[40]  Yixin Diao,et al.  Feedback Control of Computing Systems , 2004 .

[41]  Daniel P. Siewiorek,et al.  A resource allocation model for QoS management , 1997, Proceedings Real-Time Systems Symposium.

[42]  Luis Ceze,et al.  Architecture support for disciplined approximate programming , 2012, ASPLOS XVII.

[43]  Klara Nahrstedt,et al.  Energy-efficient soft real-time CPU scheduling for mobile multimedia systems , 2003, SOSP '03.

[44]  Xiao Zhang,et al.  Power containers: an OS facility for fine-grained power and energy management on multicore servers , 2013, ASPLOS '13.

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

[46]  Philip Levis,et al.  Energy management in mobile devices with the cinder operating system , 2011, EuroSys '11.

[47]  Calton Pu,et al.  SWiFT: a feedback control and dynamic reconfiguration toolkit , 1998 .

[48]  Melanie Kambadur,et al.  Trading Functionality for Power within Applications , 2014 .

[49]  Henry Hoffmann,et al.  A Probabilistic Graphical Model-based Approach for Minimizing Energy Under Performance Constraints , 2015, ASPLOS.

[50]  Lingamneni Avinash,et al.  Designing Energy-Efficient Arithmetic Operators Using Inexact Computing , 2013, J. Low Power Electron..

[51]  Henry Hoffmann,et al.  POET: a portable approach to minimizing energy under soft real-time constraints , 2015, 21st IEEE Real-Time and Embedded Technology and Applications Symposium.

[52]  Tarek F. Abdelzaher,et al.  AdaptGuard: guarding adaptive systems from instability , 2009, ICAC '09.

[53]  Henry Hoffmann,et al.  PCP: A Generalized Approach to Optimizing Performance Under Power Constraints through Resource Management , 2014, ICAC.

[54]  Steven Hand,et al.  Adaptive Resource Provisioning for Virtualized Servers Using Kalman Filters , 2014, TAAS.

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

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

[57]  Luca Faust,et al.  Modern Operating Systems , 2016 .

[58]  Martin C. Rinard Probabilistic accuracy bounds for fault-tolerant computations that discard tasks , 2006, ICS '06.

[59]  Henry Hoffmann,et al.  Automated design of self-adaptive software with control-theoretical formal guarantees , 2014, Software Engineering & Management.

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

[61]  Martin Rinard,et al.  Using Code Perforation to Improve Performance, Reduce Energy Consumption, and Respond to Failures , 2009 .

[62]  Song Liu,et al.  Flikker: saving DRAM refresh-power through critical data partitioning , 2011, ASPLOS XVI.

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

[64]  Martin C. Rinard,et al.  Proving acceptability properties of relaxed nondeterministic approximate programs , 2012, PLDI.

[65]  Krishna V. Palem,et al.  Energy aware algorithm design via probabilistic computing: from algorithms and models to Moore's law and novel (semiconductor) devices , 2003, CASES '03.

[66]  Nikil D. Dutt,et al.  xTune: A formal methodology for cross-layer tuning of mobile embedded systems , 2012, TECS.

[67]  Henry Hoffmann,et al.  Managing performance vs. accuracy trade-offs with loop perforation , 2011, ESEC/FSE '11.

[68]  Henry Hoffmann,et al.  Comparison of Decision-Making Strategies for Self-Optimization in Autonomic Computing Systems , 2012, TAAS.

[69]  Dan Grossman,et al.  EnerJ: approximate data types for safe and general low-power computation , 2011, PLDI '11.

[70]  Michael N. Katehakis,et al.  The Multi-Armed Bandit Problem: Decomposition and Computation , 1987, Math. Oper. Res..

[71]  Xiaodong Li,et al.  Cross-component energy management: Joint adaptation of processor and memory , 2007, TACO.

[72]  Thomas F. Wenisch,et al.  Power management of online data-intensive services , 2011, 2011 38th Annual International Symposium on Computer Architecture (ISCA).

[73]  Henry Hoffmann,et al.  CoAdapt: Predictable Behavior for Accuracy-Aware Applications Running on Power-Aware Systems , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[74]  Chenyang Lu,et al.  ControlWare: a middleware architecture for feedback control of software performance , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[75]  Melanie Kambadur,et al.  Energy Exchanges: Internal Power Oversight for Applications , 2014 .