skip to main content
research-article
Public Access

CALOREE: Learning Control for Predictable Latency and Low Energy

Published:19 March 2018Publication History
Skip Abstract Section

Abstract

Many modern computing systems must provide reliable latency with minimal energy. Two central challenges arise when allocating system resources to meet these conflicting goals: (1) complexity modern hardware exposes diverse resources with complicated interactions and (2) dynamics latency must be maintained despite unpredictable changes in operating environment or input. Machine learning accurately models the latency of complex, interacting resources, but does not address system dynamics; control theory adjusts to dynamic changes, but struggles with complex resource interaction. We therefore propose CALOREE, a resource manager that learns key control parameters to meet latency requirements with minimal energy in complex, dynamic en- vironments. CALOREE breaks resource allocation into two sub-tasks: learning how interacting resources affect speedup, and controlling speedup to meet latency requirements with minimal energy. CALOREE deines a general control system whose parameters are customized by a learning framework while maintaining control-theoretic formal guarantees that the latency goal will be met. We test CALOREE's ability to deliver reliable latency on heterogeneous ARM big.LITTLE architectures in both single and multi-application scenarios. Compared to the best prior learning and control solutions, CALOREE reduces deadline misses by 60% and energy consumption by 13%.

References

  1. Jason Ansel, Maciej Pacula, Yee Lok Wong, Cy Chan, Marek Olszewski, Una-May O'Reilly, and Saman Amarasinghe. 2012. Siblingrivalry: online autotuning through local competitions. In CASES. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Jason Ansel, Yee Lok Wong, Cy Chan, Marek Olszewski, Alan Edelman, and Saman Amarasinghe. 2011. Language and compiler support for auto-tuning variable-accuracy algorithms. In CGO. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. R. M. Bell, Y. Koren, and C. Volinsky. 2008. The BellKor 2008 solution to the Netlix Prize. Technical Report. ATandT Labs.Google ScholarGoogle Scholar
  4. C. Bienia, S. Kumar, J. P. Singh, and K. Li. 2008. The PARSEC Benchmark Suite: Characterization and Architectural Implications. In PACT. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Ramazan Bitirgen, Engin Ipek, and Jose F. Martinez. 2008. Coordinated management of multiple interacting resources in chip multiprocessors: A machine learning approach. In MICRO. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Giorgio C Buttazzo, Giuseppe Lipari, Luca Abeni, and Marco Caccamo. 2006. Soft Real-Time Systems: Predictability vs. Efficiency: Predictability vs. Efficiency. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Shuai Che, Michael Boyer, Jiayuan Meng, David Tarjan, Jeremy W. Sheafer, Sang-Ha Lee, and Kevin Skadron. 2009. Rodinia: A Benchmark Suite for Heterogeneous Computing. In IISWC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Jian Chen and Lizy Kurian John. 2011. Predictive coordination of multiple on-chip resources for chip multiprocessors. In ICS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Jian Chen, Lizy Kurian John, and Dimitris Kaseridis. 2011. Modeling Program Resource Demand Using Inherent Program Characteristics. SIGMETRICS Perform. Eval. Rev. 39, 1 (June 2011), 1-12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Ryan Cochran, Can Hankendi, Ayse K. Coskun, and Sherief Reda. 2011. Pack&Cap: adaptive DVFS and thread packing under power caps. In MICRO. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Sarah Dean, Horia Mania, Nikolai Matni, Benjamin Recht, and Stephen Tu. 2017. On the Sample Complexity of the Linear Quadratic Regulator. Technical Report 1710.01688v1. arXiv.Google ScholarGoogle Scholar
  12. Christina Delimitrou and Christos Kozyrakis. 2013. Paragon: QoS-aware Scheduling for Heterogeneous Datacenters. In ASPLOS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Christina Delimitrou and Christos Kozyrakis. 2014. Quasar: Resource-efficient and QoS-aware Cluster Management. In ASPLOS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Zhaoxia Deng, Lunkai Zhang, Nikita Mishra, Henry Hoffmann, and Fred Chong. 2017. Memory Cocktail Therapy: A General Learning-Based Framework to Optimize Dynamic Tradeoffs in NVM. In MICRO. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Christophe Dubach, Timothy M. Jones, Edwin V. Bonilla, and Michael F. P. O'Boyle. 2010. A Predictive Model for Dynamic Microarchitectural Adaptivity Control. In MICRO. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Antonio Filieri, Henry Hoffmann, and Martina Maggio. 2014. Automated design of self-adaptive software with control-theoretical formal guarantees. In ICSE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Antonio Filieri, Henry Hofmann, and Martina Maggio. 2015. Automated multi-objective control for self-adaptive software design. In FSE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. Flinn and M. Satyanarayanan. 1999. Energy-aware adaptation for mobile applications. In SOSP. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Jason Flinn and M. Satyanarayanan. 2004. Managing battery lifetime with energy-aware adaptation. ACM Trans. Comp. Syst. 22, 2 (May 2004). Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Rodrigo Fonseca, Prabal Dutta, Philip Levis, and Ion Stoica. 2008. Quanto: Tracking Energy in Networked Embedded Systems. In OSDI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Andrew Gelman, John B Carlin, Hal S Stern, David B Dunson, Aki Vehtari, and Donald B Rubin. 2013. Bayesian data analysis. CRC press.Google ScholarGoogle Scholar
  22. Ashvin Goel, David Steere, Calton Pu, and Jonathan Walpole. 1998. SWiFT: A Feedback Control and Dynamic Reconiguration Toolkit. In 2nd USENIX Windows NT Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Matthew Halpern, Yuhao Zhu, and Vijay Janapa Reddi. {n. d.}. Mobile CPU's rise to power: Quantifying the impact of generational mobile CPU design trends on performance, energy, and user satisfaction. In HPCA.Google ScholarGoogle Scholar
  24. Joseph L. Hellerstein, Yixin Diao, Sujay Parekh, and Dawn M. Tilbury. 2004. Feedback Control of Computing Systems. John Wiley&Sons. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Henry Hofmann. 2015. JouleGuard: energy guarantees for approximate applications. In SOSP. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Henry Hofmann, Anant Agarwal, and Srinivas Devadas. 2012. Selecting Spatiotemporal Patterns for Development of Parallel Applications. IEEE Trans. Parallel Distrib. Syst. 23, 10 (2012). Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Henry Hofmann, Jonathan Eastep, Marco D. Santambrogio, Jason E. Miller, and Anant Agarwal. 2010. Application Heartbeats: a generic interface for specifying program performance and goals in autonomous computing environments. In ICAC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Henry Hofmann, Jim Holt, George Kurian, Eric Lau, Martina Maggio, Jason E. Miller, Sabrina M. Neuman, Mahmut Sinangil, Yildiz Sinangil, Anant Agarwal, Anantha P. Chandrakasan, and Srinivas Devadas. 2012. Self-aware computing in the Angstrom processor. In DAC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. T. Horvath, T. Abdelzaher, K. Skadron, and Xue Liu. 2007. Dynamic Voltage Scaling in Multitier Web Servers with End-to-End Delay Control. Computers, IEEE Transactions on 56, 4 (2007). Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Connor Imes, David H. K. Kim, Martina Maggio, and Henry Hoffmann. 2015. POET: A Portable Approach to Minimizing Energy Under Soft Real-time Constraints. In RTAS.Google ScholarGoogle Scholar
  31. Engin Ipek, Onur Mutlu, José F. Martínez, and Rich Caruana. 2008. Self-Optimizing Memory Controllers: A Reinforcement Learning Approach. In ISCA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Syed Muhammad Zeeshan Iqbal, Yuchen Liang, and Hakan Grahn. 2010. ParMiBench - An Open-Source Benchmark for Embedded Multi-processor Systems. IEEE Comput. Archit. Lett. 9, 2 (July 2010). Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. C. Karamanolis, M. Karlsson, and X. Zhu. 2005. Designing controllable computer systems. In HotOS. Berkeley, CA, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. David H. K. Kim, Connor Imes, and Henry Hoffmann. 2015. Racing and Pacing to Idle: Theoretical and Empirical Analysis of Energy Optimization Heuristics. In CPSNA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Minyoung Kim, Mark-Oliver Stehr, Carolyn Talcott, Nikil Dutt, and Nalini Venkatasubramanian. 2013. xTune: A Formal Methodology for Cross-layer Tuning of Mobile Embedded Systems. ACM Trans. Embed. Comput. Syst. 11, 4 (Jan. 2013). Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Etienne Le Sueur and Gernot Heiser. 2011. Slow Down or Sleep, That is the Question. In Proceedings of the 2011 USENIX Annual Technical Conference. Portland, OR, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. B.C. Lee, J. Collins, Hong Wang, and D. Brooks. 2008. CPR: Composable performance regression for scalable multiprocessor models. In MICRO. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Benjamin C. Lee and David Brooks. 2008. Eiciency Trends and Limits from Comprehensive Microarchitectural Adaptivity. In ASPLOS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Benjamin C. Lee and David M. Brooks. 2006. Accurate and Efficient Regression Modeling for Microarchitectural Performance and Power Prediction. In ASPLOS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Matthew Lentz, James Litton, and Bobby Bhattacharjee. 2015. Drowsy Power Management. In SOSP. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. W.S. Levine. 2005. The control handbook. CRC Press.Google ScholarGoogle Scholar
  42. Baochun Li and K. Nahrstedt. 1999. A control-based middleware framework for quality-of-service adaptations. IEEE Journal on Selected Areas in Communications 17, 9 (1999). Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. J. Li and J.F. Martinez. 2006. Dynamic power-performance adaptation of parallel computation on chip multiprocessors. In HPCA.Google ScholarGoogle Scholar
  44. Lennart Ljung. 1999. System Identiication: Theory for the User. Prentice Hall PTR, Upper Saddle River, NJ, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. C. Lu, Y. Lu, T.F. Abdelzaher, J.A. Stankovic, and S.H. Son. 2006. Feedback Control Architecture and Design Methodology for Service Delay Guarantees in Web Servers. IEEE TPDS 17, 9 (September 2006), 1014--1027. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Martina Maggio, Henry Hofmann, Alessandro V. Papadopoulos, Jacopo Panerati, Marco D. Santambrogio, Anant Agarwal, and Alberto Leva. 2012. Comparison of Decision-Making Strategies for Self-Optimization in Autonomic Computing Systems. ACM Trans. Auton. Adapt. Syst. 7, 4, Article 36 (Dec. 2012), 32 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. M. Maggio, H. Hofmann, M. D. Santambrogio, A. Agarwal, and A. Leva. 2013. Power Optimization in Embedded Systems via Feedback Control of Resource Allocation. IEEE Transactions on Control Systems Technology 21, 1 (Jan 2013).Google ScholarGoogle ScholarCross RefCross Ref
  48. Martina Maggio, Alessandro Vittorio Papadopoulos, Antonio Filieri, and Henry Hofmann. 2017. Automated Control of Multiple Software Goals Using Multiple Actuators. In ESEC/FSE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. John D. McCalpin. 1995. Memory Bandwidth and Machine Balance in Current High Performance Computers. IEEE TCCA Newsletter (Dec. 1995), 19--25.Google ScholarGoogle Scholar
  50. Nikita Mishra. 2017. Statistical Methods for Improving Dynamic Scheduling and Resource Usage in Computing Systems. Ph.D. Dissertation. https://search.proquest.com/docview/1928485902?accountid=14657Google ScholarGoogle Scholar
  51. Nikita Mishra, Connor Imes, Huazhe Zhang, John D Lafferty, and Henry Hoffmann. 2016. Big Data for LITTLE Cores: Combining Learning and Control for Mobile Energy Efficiency. Technical Report TR-2016-10. University of Chicago, Dept. of Comp. Sci.Google ScholarGoogle Scholar
  52. Nikita Mishra, Huazhe Zhang, John D. Laferty, and Henry Hoffmann. 2015. A Probabilistic Graphical Model-based Approach for Minimizing Energy Under Performance Constraints. In ASPLOS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Akihiko Miyoshi, Charles Lefurgy, Eric Van Hensbergen, Ram Rajamony, and Raj Rajkumar. 2002. Critical Power Slope: Understanding the Runtime Effects of Frequency Scaling. In ICS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Carl N Morris. 1983. Parametric empirical Bayes inference: theory and applications. J. Amer. Statist. Assoc. 78, 381 (1983), 47-55.Google ScholarGoogle ScholarCross RefCross Ref
  55. Adam J. Oliner, Anand P. Iyer, Ion Stoica, Eemil Lagerspetz, and Sasu Tarkoma. 2013. Carat: Collaborative Energy Diagnosis for Mobile Devices. In Proceedings of the 11th ACM Conference on Embedded Networked Sensor Systems (SenSys '13). ACM, New York, NY, USA, Article 10, 14 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Sinno Jialin Pan and Qiang Yang. 2010. A Survey on Transfer Learning. IEEE Trans. on Knowl. and Data Eng. 22, 10 (Oct. 2010), 1345--1359. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Paula Petrica, Adam M. Izraelevitz, David H. Albonesi, and Christine A. Shoemaker. 2013. Flicker: A Dynamically Adaptive Architecture for Power Limited Multicore Systems. In ISCA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Dmitry Ponomarev, Gurhan Kucuk, and Kanad Ghose. 2001. Reducing Power Requirements of Instruction Scheduling Through Dynamic Allocation of Multiple Datapath Resources. In MICRO. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Raghavendra Pothukuchi, Amin Ansari, Petros Voulgaris, and Josep Torrellas. 2016. Using Multiple Input, Multiple Output Formal Control to Maximize Resource Efficiency in Architectures. In ISCA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Ramya Raghavendra, Parthasarathy Ranganathan, Vanish Talwar, Zhikui Wang, and Xiaoyun Zhu. 2008. No "power" struggles: coordinated multi-level power management for the data center. In ASPLOS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. R. Rajkumar, C. Lee, J. Lehoczky, and Dan Siewiorek. 1997. A resource allocation model for QoS management. In RTSS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Arjun Roy, Stephen M. Rumble, Ryan Stutsman, Philip Levis, David Mazières, and Nickolai Zeldovich. 2011. Energy Management in Mobile Devices with the Cinder Operating System. In EuroSys. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Muhammad Husni Santriaji and Henry Hofmann. 2016. GRAPE: Minimizing energy for GPU applications with performance requirements. In MICRO.Google ScholarGoogle Scholar
  64. Akbar Sharifi, Shekhar Srikantaiah, Asit K. Mishra, Mahmut Kandemir, and Chita R. Das. 2011. METE: meeting end-to-end QoS in multicores through system-wide resource management. In SIGMETRICS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Kai Shen, Arrvindh Shriraman, Sandhya Dwarkadas, Xiao Zhang, and Zhuan Chen. 2013. Power Containers: An OS Facility for Fine-grained Power and Energy Management on Multicore Servers. SIGPLAN Not. 48, 4 (March 2013), 65-76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. David C. Snowdon, Etienne Le Sueur, Stefan M. Petters, and Gernot Heiser. 2009. Koala: A Platform for OS-level Power Management. In EuroSys. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. Michal Sojka, Pavel Písa, Dario Faggioli, Tommaso Cucinotta, Fabio Checconi, Zdenek Hanzálek, and Giuseppe Lipari. 2011. Modular software architecture for lexible reservation mechanisms on hetero- geneous resources. Journal of Systems Architecture 57, 4 (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. Srinath Sridharan, Gagan Gupta, and Gurindar S. Sohi. 2013. Holistic Run-time Parallelism Management for Time and Energy Efficiency. In ICS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. David C. Steere, Ashvin Goel, Joshua Gruenberg, Dylan McNamee, Calton Pu, and Jonathan Walpole. 1999. A Feedback-driven Proportion Allocator for Real-rate Scheduling. In Proceedings of the Third Symposium on Operating Systems Design and Implementation (OSDI '99). USENIX Association, Berkeley, CA, USA, 145--158. http://dl.acm.org/citation.cfm?id=296806.296820 Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. Q. Sun, G. Dai, and W. Pan. 2008. LPV Model and Its Application in Web Server Performance Control. In ICCSSE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. G. Tesauro. 2007. Reinforcement Learning in Autonomic Computing: A Manifesto and Case Studies. IEEE Internet Computing 11 (2007). Issue 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Michel Tokic. 2010. Adaptive ∈-Greedy Exploration in Reinforcement Learning Based on Value Diferences. In KI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. Stephen Tu and Benjamin Recht. 2017. Least-Squares Temporal Difference Learning for the Linear Quadratic Regulator. Technical Report 1712.08642v1. arXiv.Google ScholarGoogle Scholar
  74. Vibhore Vardhan, Wanghong Yuan, Albert F. Harris III, Sarita V. Adve, Robin Kravets, Klara Nahrstedt, Daniel Grobe Sachs, and Douglas L. Jones. 2009. GRACE-2: integrating fine-grained application adaptation with global adaptation for saving energy. IJES 4, 2 (2009).Google ScholarGoogle Scholar
  75. Greg Welch and Gary Bishop. {n. d.}. An Introduction to the Kalman Filter. Technical Report TR 95-041. UNC Chapel Hill, Department of Computer Science. Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. Jonathan A. Winter, David H. Albonesi, and Christine A. Shoemaker. 2010. Scalable thread scheduling and global power management for heterogeneous many-core architectures. In PACT. Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. Qiang Wu, Philo Juang, Margaret Martonosi, and Douglas W. Clark. 2004. Formal online methods for voltage/frequency control in multiple clock domain microprocessors. In ASPLOS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  78. Weidan Wu and Benjamin C Lee. 2012. Inferred models for dynamic and sparse hardware-software spaces. In Microarchitecture (MICRO), 2012 45th Annual IEEE/ACM International Symposium on. IEEE, 413--424. Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. Joshua J. Yi, David J. Lilja, and Douglas M. Hawkins. 2003. A Statistically Rigorous Approach for Improving Simulation Methodology. In HPCA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. Wanghong Yuan and Klara Nahrstedt. 2003. Energy-efficient soft real-time CPU scheduling for mobile multimedia systems. In SOSP. Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. Huazhe Zhang and Henry Hofmann. 2016. Maximizing Performance Under a Power Cap: A Comparison of Hardware, Software, and Hybrid Techniques. In ASPLOS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  82. R. Zhang, C. Lu, T.F. Abdelzaher, and J.A. Stankovic. 2002. Control-Ware: A middleware architecture for Feedback Control of Software Performance. In ICDCS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  83. Xiao Zhang, Rongrong Zhong, Sandhya Dwarkadas, and Kai Shen. 2012. A Flexible Framework for Throttling-Enabled Multicore Management (TEMM). In ICPP. Google ScholarGoogle ScholarDigital LibraryDigital Library
  84. Yanqi Zhou, Henry Hofmann, and David Wentzlaf. 2016. CASH: Supporting IaaS Customers with a Sub-core Conigurable Architecture. In ISCA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. Yuhao Zhu and Vijay Janapa Reddi. 2013. High-performance and energy-efficient mobile web browsing on big/little systems. In HPCA. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. CALOREE: Learning Control for Predictable Latency and Low Energy

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader
              About Cookies On This Site

              We use cookies to ensure that we give you the best experience on our website.

              Learn more

              Got it!