Yawn: A CPU Idle-state Governor for Datacenter Applications Erfan Sharafzadeh1;2, Seyed Alireza Sanaee Kohroudi1 Esmail Asyabi1, Mohsen Sharifi1 1Iran University of Science and Technology 2Johns Hopkins University
[email protected],{sarsanaee,e_asyabi}@comp.iust.ac.ir,
[email protected] ABSTRACT on Systems (APSys ’19), August 19–20, 2019, Hangzhou, China. ACM, Idle-state governors partially turn off idle CPUs, allowing New York, NY, USA, 8 pages. https://doi.org/10.1145/3343737.3343740 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, 1 INTRODUCTION the default idle-state governor of Linux, predicts periods of idleness based on the historical data and the disk I/O In-memory key-value databases are the beating heart of information to choose proper idle-sates. Our experiments the current data centers. The workloads for such databases show that Menu can save power, but at the cost of sacrificing consist of short-lived tasks generated initially from a user- tail latency, making Menu an inappropriate governor for facing server. User requests are partitioned into multiple data centers that host latency-sensitive applications. In this queries distributed among servers in data centers [11]. The paper, we present the initial design of Yawn, an idle-state aggregation of query results forms the final response to the governor that aims to mitigate tail latency without sacrificing user request and the latency of the slowest server determines power. Yawn leverages online machine learning techniques the overall QoS [3, 10].