TY - GEN
T1 - Peafowl
T2 - 11th ACM Symposium on Cloud Computing, SoCC 2020
AU - Asyabi, Esmail
AU - Bestavros, Azer
AU - Sharafzadeh, Erfan
AU - Zhu, Timothy
N1 - Funding Information:
This work was supported by the National Science Foundation awards (NSF CISE-1414119, CISE-1717858, and CISE-1931714). We thank our shepherd David Lo and the anonymous reviewers who provided excellent feedback. We are grateful to Vasiliki (Vasia) Kalavri, Vijay Chidambaram, and Manos Athanassoulis for their useful comments on earlier drafts of this work.
Publisher Copyright:
© 2020 ACM.
PY - 2020/10/12
Y1 - 2020/10/12
N2 - The traffic load sent to key-value (KV) stores varies over long timescales of hours to short timescales of a few microseconds. Long-term variations present the opportunity to save power during low or medium periods of utilization. Several techniques exist to save power in servers, including feedback-based controllers that right-size the number of allocated CPU cores, dynamic voltage and frequency scaling (DVFS), and c-state (idle-state) mechanisms. In this paper, we demonstrate that existing power saving techniques are not effective for KV stores. This is because the high rate of traffic even under low load prevents the system from entering low power states for extended periods of time. To achieve power savings, we must unbalance the load among the CPU cores so that some of them can enter low power states during periods of low load. We accomplish this by introducing the notion of in-application CPU scheduling. Instead of relying on the kernel to schedule threads, we pin threads to bypass the kernel CPU scheduler and then perform the scheduling within the KV store application. Our design, Peafowl, is a KV store that features an in-application CPU scheduler that monitors the load to learn the workload characteristics and then scales the number of active CPU cores when the load drops, leading to notable power savings during low or medium periods of utilization. Our experiments demonstrate that Peafowl uses up to 40 - 54% lower power than state of the art approaches such as Rubik and µDPM.
AB - The traffic load sent to key-value (KV) stores varies over long timescales of hours to short timescales of a few microseconds. Long-term variations present the opportunity to save power during low or medium periods of utilization. Several techniques exist to save power in servers, including feedback-based controllers that right-size the number of allocated CPU cores, dynamic voltage and frequency scaling (DVFS), and c-state (idle-state) mechanisms. In this paper, we demonstrate that existing power saving techniques are not effective for KV stores. This is because the high rate of traffic even under low load prevents the system from entering low power states for extended periods of time. To achieve power savings, we must unbalance the load among the CPU cores so that some of them can enter low power states during periods of low load. We accomplish this by introducing the notion of in-application CPU scheduling. Instead of relying on the kernel to schedule threads, we pin threads to bypass the kernel CPU scheduler and then perform the scheduling within the KV store application. Our design, Peafowl, is a KV store that features an in-application CPU scheduler that monitors the load to learn the workload characteristics and then scales the number of active CPU cores when the load drops, leading to notable power savings during low or medium periods of utilization. Our experiments demonstrate that Peafowl uses up to 40 - 54% lower power than state of the art approaches such as Rubik and µDPM.
UR - http://www.scopus.com/inward/record.url?scp=85095423668&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85095423668&partnerID=8YFLogxK
U2 - 10.1145/3419111.3421298
DO - 10.1145/3419111.3421298
M3 - Conference contribution
AN - SCOPUS:85095423668
T3 - SoCC 2020 - Proceedings of the 2020 ACM Symposium on Cloud Computing
SP - 150
EP - 164
BT - SoCC 2020 - Proceedings of the 2020 ACM Symposium on Cloud Computing
PB - Association for Computing Machinery, Inc
Y2 - 19 October 2020 through 21 October 2020
ER -