IOCost: block IO control for containers in datacenters
IOCost: block IO control for containers in datacenters
复制标题
IOCost:数据中心容器的块IO控制
DOI:
10.1145/3503222.3507727
复制
发表时间:
2022
期刊:
影响因子:
--
通讯作者:
Skarlatos, Dimitrios
中科院分区:
文献类型:
--
作者:
Heo, Tejun;Schatzberg, Dan;Newell, Andrew;Liu, Song;Dhakshinamurthy, Saravanan;Narayanan, Iyswarya;Bacik, Josef;Mason, Chris;Tang, Chunqiang;Skarlatos, Dimitrios
Resource isolation is a fundamental requirement in datacenter environments. However, our production experience in Meta’s large-scale datacenters shows that existing IO control mechanisms for block storage are inadequate in containerized environments. IO control needs to provide proportional resources to containers while taking into account the hardware heterogeneity of storage devices and the idiosyncrasies of the workloads deployed in datacenters. The speed of modern SSDs requires IO control to execute with low-overheads. Furthermore, IO control should strive for work conservation, take into account the interactions with the memory management subsystem, and avoid priority inversions that lead to isolation failures. To address these challenges, this paper presents IOCost, an IO control solution that is designed for containerized environments and provides scalable, work-conserving, and low-overhead IO control for heterogeneous storage devices and diverse workloads in datacenters. IOCost performs offline profiling to build a device model and uses it to estimate device occupancy of each IO request. To minimize runtime overhead, it separates IO control into a fast per-IO issue path and a slower periodic planning path. A novel work-conserving budget donation algorithm enables containers to dynamically share unused budget. We have deployed IOCost across the entirety of Meta’s datacenters comprised of millions of ma- chines, upstreamed IOCost to the Linux kernel, and open-sourced our device-profiling tools. IOCost has been running in production for two years, providing IO control for Meta’s fleet. We describe the design of IOCost and share our experience deploying it at scale.
登录
查看更多内容
DOI:
--
发表时间:
2016-06
期刊:
--
影响因子:
--
作者:
Sungyong Ahn;Kwanghyun La;Jihong Kim
通讯作者:
Sungyong Ahn;Kwanghyun La;Jihong Kim
DOI:
10.1145/3037697.3037732
发表时间:
2017-04
期刊:
Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems
影响因子:
--
作者:
Ana Klimovic;Heiner Litz;Christos Kozyrakis
通讯作者:
Ana Klimovic;Heiner Litz;Christos Kozyrakis
DOI:
10.1145/3064176.3064187
发表时间:
2017-04
期刊:
Proceedings of the Twelfth European Conference on Computer Systems
影响因子:
--
作者:
Jun He;Sudarsun Kannan;Andrea C. Arpaci-Dusseau;Remzi H. Arpaci-Dusseau
通讯作者:
Jun He;Sudarsun Kannan;Andrea C. Arpaci-Dusseau;Remzi H. Arpaci-Dusseau
DOI:
--
发表时间:
1965
期刊:
影响因子:
--
作者:
J. Ehrlich
通讯作者:
J. Ehrlich