IOCost: block IO control for containers in datacenters

IOCost: block IO control for containers in datacenters
复制标题

IOCost:数据中心容器的块IO控制

DOI:
10.1145/3503222.3507727
复制
发表时间:
2022
期刊:
Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems
影响因子:
--
通讯作者:
Skarlatos, Dimitrios
Skarlatos, Dimitrios
中科院分区:
--
文献类型:
--
作者:
Heo, Tejun;Schatzberg, Dan;Newell, Andrew;Liu, Song;Dhakshinamurthy, Saravanan;Narayanan, Iyswarya;Bacik, Josef;Mason, Chris;Tang, Chunqiang;Skarlatos, Dimitrios

文献摘要

参考文献

被引文献

相似文献

资源隔离是数据中心环境中的基本要求。然而,我们在Meta的大规模数据中心的生产经验表明,现有的块存储IO控制机制在容器化环境中是不够的。IO控制需要为容器提供成比例的资源,同时考虑存储设备的硬件异构性和部署在数据中心中的工作负载的特性。现代SSD的速度要求IO控制以低开销执行。此外,IO控制应该努力工作保护,考虑与内存管理子系统的交互,并避免导致隔离失败的优先级反转。为了应对这些挑战,本文介绍了IOCost,这是一种IO控制解决方案,专为容器化环境设计,为异构存储设备和数据中心的各种工作负载提供可扩展、工作节省和低开销的IO控制。IOCost执行离线分析以构建设备模型,并使用它来估计每个IO请求的设备占用率。为了最小化运行时开销,它将IO控制分为快速的每次IO发布路径和较慢的周期性计划路径。一种新颖的工作保存预算捐赠算法使容器能够动态共享未使用的预算。我们已经在由数百万台机器组成的整个Meta服务器中部署了IOCost,将IOCost上行到Linux内核,并开源了我们的设备分析工具。IOCost已经在生产环境中运行了两年,为Meta的车队提供IO控制。我们描述了IOCost的设计,并分享了我们大规模部署它的经验。
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