skip to main content
10.1145/3343737.3343740acmconferencesArticle/Chapter ViewAbstractPublication PagesapsysConference Proceedingsconference-collections
research-article

Yawn: A CPU Idle-state Governor for Datacenter Applications

Published:19 August 2019Publication History

ABSTRACT

Idle-state governors partially turn off idle CPUs, allowing them to go to states known as idle-states to save power. Exiting from these idle-sates, however, imposes delays on the execution of tasks and aggravates tail latency. Menu, the default idle-state governor of Linux, predicts periods of idleness based on the historical data and the disk I/O information to choose proper idle-sates. Our experiments show that Menu can save power, but at the cost of sacrificing tail latency, making Menu an inappropriate governor for data centers that host latency-sensitive applications. In this paper, we present the initial design of Yawn, an idle-state governor that aims to mitigate tail latency without sacrificing power. Yawn leverages online machine learning techniques to predict the idle periods based on information gathered from all parameters affecting idleness, including network I/O, resulting in more accurate predictions, which in turn leads to reduced response times. Preliminary benchmarking results demonstrate that Yawn reduces the 99th latency percentile of Memcached requests by up to 40%.

References

  1. 2019. Linux Kernel Mailing List. https://lkml.org/lkml/2019/1/6/178. Accessed: 2019-04-17.Google ScholarGoogle Scholar
  2. Dan Ardelean, Amer Diwan, and Chandra Erdman. 2018. Performance Analysis of Cloud Applications. In 15th USENIX Symposium on Networked Systems Design and Implementation (NSDI 18). 405--417. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Luiz Barroso, Mike Marty, David Patterson, and Parthasarathy Ranganathan. 2017. Attack of the Killer Microseconds. Commun. ACM 60, 4 (2017), 48--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Luiz André Barroso and Urs Hölzle. 2007. The Case for Energy-Proportional Computing. Computer 40, 12 (2007), 33--37. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Luiz André Barroso and Urs Hölzle. 2009. The Datacenter as a Computer: An Introduction to the Design of Warehouse-scale Machines. Synthesis Lectures on Computer Architecture 4, 1 (2009), 1--108.Google ScholarGoogle ScholarCross RefCross Ref
  6. Nicolo Cesa-Bianchi and Gabor Lugosi. 2006. Prediction, Learning, and Games. Cambridge University Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Chih-Hsun Chou, Laxmi N Bhuyan, and Shaolei Ren. 2017. TailCut: Power Reduction under Quality and Latency Constraints in Distributed Search Systems. In 2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS). 1465--1475.Google ScholarGoogle ScholarCross RefCross Ref
  8. Chih-Hsun Chou, Laxmi N Bhuyan, and Daniel Wong. 2019. μDPM: Dynamic Power Management for the Microsecond Era. In 2019 IEEE International Symposium on High Performance Computer Architecture (HPCA). 120--132.Google ScholarGoogle ScholarCross RefCross Ref
  9. Chih-Hsun Chou, Daniel Wong, and Laxmi N Bhuyan. 2016. DynSleep: Fine-grained Power Management for a Latency-Critical Data Center Application. In Proceedings of the 2016 International Symposium on Low Power Electronics and Design (ISLPED '16). ACM, New York, NY, USA, 212--217. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Jeffrey Dean and Luiz André Barroso. 2013. The Tail at Scale. Commun. ACM 56, 2 (2013), 74--80. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Diego Didona and Willy Zwaenepoel. 2019. Size-aware Sharding For Improving Tail Latencies in In-memory Key-value Stores. (2019), 79--94. https://www.usenix.org/conference/nsdi19/presentation/didona Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. L Duan, D Zhan, and J Hohnerlein. 2015. Optimizing Cloud Data Center Energy Efficiency via Dynamic Prediction of CPU Idle Intervals. In 2015 IEEE 8th International Conference on Cloud Computing. ieeexplore.ieee.org, 985--988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Babak Falsafi, Rachid Guerraoui, Javier Picorel, and Vasileios Trigonakis. 2016. Unlocking Energy. In 2016 USENIX Annual Technical Conference (USENIX ATC 16). 393--406. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Brad Fitzpatrick and Anatoly Vorobey. 2011. Memcached: a Distributed Memory Object Caching System.Google ScholarGoogle Scholar
  15. Corey Gough, Ian Steiner, and Winston Saunders. 2015. Energy Efficient Servers: Blueprints for Data Center Optimization. Apress. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Vishal Gupta, Paul Brett, David A Koufaty, Dheeraj Reddy, Scott Hahn, Karsten Schwan, and Ganapati Srinivasa. 2012. The Forgotten 'Uncore': On the Energy-Efficiency of Heterogeneous Cores. In 2012 USENIX Annual Technical Conference. usenix.org, 367--372. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. C H Hsu, Y Zhang, M A Laurenzano, D Meisner, T Wenisch, J Mars, L Tang, and R G Dreslinski. 2015. Adrenaline: Pinpointing and Reining in Tail Queries with Quick Voltage Boosting. In 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA). 271--282.Google ScholarGoogle Scholar
  18. Thomas Ilsche, Marcus Hähnel, Robert Schöne, Mario Bielert, and Daniel Hackenberg. 2018. Powernightmares: The Challenge of Efficiently Using Sleep States on Multi-core Systems. In Euro-Par 2017: Parallel Processing Workshops. Springer International Publishing, 623--635.Google ScholarGoogle Scholar
  19. Intel. 2018. Intel Software Developer's Manual.Google ScholarGoogle Scholar
  20. Calin Iorgulescu, Reza Azimi, Youngjin Kwon, Sameh Elnikety, Manoj Syamala, Vivek Narasayya, Herodotos Herodotou, Paulo Tomita, Alex Chen, Jack Zhang, and Junhua Wang. 2018. PerfIso: Performance Isolation for Commercial Latency-Sensitive Services. In 2018 USENIX Annual Technical Conference. USENIX Association, Boston, MA, 519--532. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Svilen Kanev, Kim Hazelwood, Gu-Yeon Wei, and David Brooks. 2014. Tradeoffs Between Power Management and Tail Latency in Warehouse-scale Applications. (2014), 31--40.Google ScholarGoogle Scholar
  22. Yiping Kang, Johann Hauswald, Cao Gao, Austin Rovinski, Trevor Mudge, Jason Mars, and Lingjia Tang. 2017. Neurosurgeon: Collaborative Intelligence Between the Cloud and Mobile Edge. In ACM SIGARCH Computer Architecture News, Vol. 45. ACM, 615--629. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Harshad Kasture, Davide B Bartolini, Nathan Beckmann, and Daniel Sanchez. 2015. Rubik: Fast Analytical Power Management for Latency-critical Systems. In Proceedings of the 48th International Symposium on Microarchitecture. ACM, 598--610. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Mustafa Korkmaz, Martin Karsten, Kenneth Salem, and Semih Salihoglu. 2018. Workload-Aware CPU Performance Scaling for Transactional Database Systems. In Proceedings of the 2018 International Conference on Management of Data (SIGMOD '18). ACM, New York, NY, USA, 291--306. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Etienne Le Sueur and Gernot Heiser. 2011. Slow Down or Sleep, That Is the Question. In 2011 USENIX Annual Technical Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Jacob Leverich. 2014. Mutilate: High-performance Memcached Load Generator.Google ScholarGoogle Scholar
  27. Jacob Leverich and Christos Kozyrakis. 2014. Reconciling High Server Utilization and Sub-millisecond Quality-of-service. In Proceedings of the Ninth European Conference on Computer Systems (EuroSys '14). ACM, New York, NY, USA, 4:1--4:14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Jialin Li, Naveen Kr Sharma, Dan R K Ports, and Steven D Gribble. 2014. Tales of the Tail: Hardware, OS, and Application-level Sources of Tail Latency. In Proceedings of the ACM Symposium on Cloud Computing (SOCC '14). ACM, New York, NY, USA, 9:1--9:14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. David Lo, Liqun Cheng, Rama Govindaraju, Luiz André Barroso, and Christos Kozyrakis. 2014. Towards Energy Proportionality for Large-scale Latency-critical Workloads. In Proceeding of the 41st Annual International Symposium on Computer Architecuture (ISCA '14). IEEE Press, Piscataway, NJ, USA, 301--312. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Yanchao Lu, Quan Chen, Yao Shen, and Minyi Guo. 2017. Electro: Toward QoS-Aware Power Management for Latency-Critical Applications. In IEEE International Symposium on Parallel and Distributed Processing with Applications. IEEE, 221--228.Google ScholarGoogle Scholar
  31. David Meisner, Brian T Gold, and Thomas F Wenisch. 2009. PowerNap: Eliminating Server Idle Power. SIGARCH Computer Architecture News 37, 1 (March 2009), 205--216. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. David Meisner, Christopher M Sadler, Luiz André Barroso, Wolf-Dietrich Weber, and Thomas F Wenisch. 2011. Power Management of Online Data-intensive Services. In Proceedings of the 38th Annual International Symposium on Computer Architecture (ISCA '11). ACM, New York, NY, USA, 319--330. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. David Meisner and Thomas F. Wenisch. 2012. DreamWeaver: Architectural Support for Deep Sleep. SIGARCH Comput. Archit. News 40, 1 (March 2012), 313--324. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. V Pallipadi, S Li, and A Belay. 2007. cpuidle: Do Nothing, Efficiently. Proceedings of the Linux Symposium (2007).Google ScholarGoogle Scholar
  35. George Prekas, Mia Primorac, Adam Belay, Christos Kozyrakis, and Edouard Bugnion. 2015. Energy Proportionality and Workload Consolidation for Latency-critical Applications. In Proceedings of the Sixth ACM Symposium on Cloud Computing (SoCC '15). ACM, New York, NY, USA, 342--355. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Andrei Roba and Zoltan Baruch. 2015. An Enhanced Approach to Dynamic Power Management for the Linux Cpuidle Subsystem. In IEEE International Conference on Intelligent Computer Communication and Processing (ICCP), 2015. 511--517.Google ScholarGoogle ScholarCross RefCross Ref
  37. R Sen and A Halverson. 2017. Frequency Governors for Cloud Database OLTP Workloads. In 2017 IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED). 1--6.Google ScholarGoogle Scholar
  38. Rathijit Sen and David A Wood. 2017. Pareto Governors for Energy-Optimal Computing. ACM Trans. Archit. Code Optim. 14, 1 (March 2017), 6:1--6:25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Akshitha Sriraman and Thomas F Wenisch. 2018. μTune: Auto-Tuned Threading for OLDI Microservices. In 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI 18). 177--194. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Xi Yang, Stephen M Blackburn, and Kathryn S McKinley. 2016. Elfen Scheduling: Fine-Grain Principled Borrowing from Latency-Critical Workloads Using Simultaneous Multithreading. In 2016 USENIX Annual Technical Conference. usenix.org, 309--322. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Fan Yao, Jingxin Wu, Suresh Subramaniam, and Guru Venkataramani. 2017. WASP: Workload Adaptive Energy-latency Optimization in Server Farms Using Server Low-power States. In IEEE 10th International Conference on Cloud Computing (CLOUD), 2017. 171--178.Google ScholarGoogle Scholar
  42. Fan Yao, Jingxin Wu, Guru Venkataramani, and Suresh Subramaniam. 2017. TS-Bat: Leveraging Temporal-Spatial Batching for Data Center Energy Optimization. In IEEE Global Communications Conference (GLOBECOM 2017). 1--6.Google ScholarGoogle Scholar
  43. Xin Zhan, Reza Azimi, Svilen Kanev, David Brooks, and Sherief Reda. 2017. Carb: A C-state Power Management Arbiter for Latency-critical Workloads. IEEE Computer Architecture Letters 16, 1 (2017), 6--9.Google ScholarGoogle ScholarCross RefCross Ref

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
  • Published in

    cover image ACM Conferences
    APSys '19: Proceedings of the 10th ACM SIGOPS Asia-Pacific Workshop on Systems
    August 2019
    115 pages
    ISBN:9781450368933
    DOI:10.1145/3343737

    Copyright © 2019 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 19 August 2019

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed limited

    Acceptance Rates

    APSys '19 Paper Acceptance Rate15of36submissions,42%Overall Acceptance Rate149of386submissions,39%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader