一句话:分享在生产环境大规模部署 DVFS 提频扩容的三年经验与安全方法。
本文针对疫情期间基础设施需求激增、需要在不新增硬件的情况下扩展算力供给的问题,介绍了在生产环境大规模部署 DVFS boosting 的实践经验。大规模频率提升会带来额外功耗,可能加剧功耗超订并因功耗封顶造成服务容量损失;同时还要处理服务与硬件异构、长尾服务缺乏评估资源以及可靠性风险。作者提出了一套兼顾安全与可扩展性的部署方案,已稳定运行三年,创造了 12 MW 供给,相当于新增并填满半个数据中心。文章还总结了在整机群安全推进 DVFS 提频以提升效率的关键经验。
COVID-19 pandemic created unexpected demand for our physical infrastructure. We increased our computing supply by growing our infrastructure footprint as well as expanded existing capacity by using various techniques among those DVFS boosting. This paper describes our experience in deploying DVFS boosting to expand capacity. There are several challenges in deploying DVFS boosting at scale. First, frequency scaling incurs additional power demand, which can exacerbate power over-subscription and incur unexpected capacity loss for the services due to power capping. Second, heterogeneity is commonplace in any large scale infrastructure. We need to deal with the service and hardware heterogeneity to determine the optimal setting for each service and hardware type. Third, there exists a long tail of services with scarce resources and support for performance evaluation. Finally and most importantly, we need to ensure that large scale changes to CPU frequency do not risk the reliability of the services and the infrastructure. We present our solution that has overcome the above challenges and has been running in production for over 3 years. It created 12 MW of supply which is equivalent to building and populating half a datacenter in our fleet. In addition to the real world performance of our solution, we also share our key takeaways to improve fleetwide efficiency via DVFS boosting in a safe manner.
@inproceedings{PigaNSSDMCHDM24,
title = {Expanding Datacenter Capacity with DVFS Boosting: A safe and scalable deployment experience},
author = {Leonardo Piga and Iyswarya Narayanan and Aditya Sundarrajan and Matt Skach and Qingyuan Deng and Biswadip Maity and Manoj Chakkaravarthy and Alison Huang and Abhishek Dhanotia and Parth Malani},
booktitle = {ASPLOS},
year = {2024},
doi = {10.1145/3617232.3624853}
}