paperbot · PL 论文追踪

全部论文 待读 收藏

P2 IOCost: block IO control for containers in datacenters

IOCost:数据中心容器的块 IO 控制
ASPLOS Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems2022匹配度 1/10 · 该论文聚焦数据中心容器块 IO 控制、资源隔离与 Linux 内核实现,属于系统/运行时资源管理方向,与用户关注的静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析均无直接关系。虽然工业落地经验丰富,但不匹配当前研究画像的核心问题。引用 22 inbox
Tejun Heo, Dan Schatzberg, Andrew Newell, Song Liu, Saravanan Dhakshinamurthy, Iyswarya Narayanan, Josef Bacik, Chris Mason, Chunqiang Tang, Dimitrios Skarlatos
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 IOCost,面向数据中心容器提供可扩展、工作守恒、低开销的块 IO 控制与比例资源隔离。

本文针对 Meta 大规模数据中心中容器化环境下现有块存储 IO 控制不足的问题,提出 IOCost。挑战包括存储设备异构、工作负载差异、SSD 高速带来的低开销需求,以及与内存管理子系统的交互和优先级反转导致的隔离失效。IOCost 通过离线剖析构建设备模型,估计每个 IO 请求的设备占用;运行时分为快速的逐 IO 发放路径与较慢的周期性规划路径以降低开销,并采用工作守恒的预算捐赠算法让容器动态共享未用预算。IOCost 已全面部署于 Meta 数百万台机器,上游合入 Linux 内核,开源设备剖析工具,并在生产中运行两年。

问题
在容器化数据中心中,现有块存储 IO 控制难以在存储设备异构、工作负载多样时提供比例资源与有效隔离,并面临高开销、优先级反转及与内存管理交互等挑战。
方法
IOCost 通过离线剖析建立设备模型以估计 IO 设备占用,将控制划分为快速逐 IO 发放路径和较慢的周期性规划路径,并用工作守恒的预算捐赠算法动态共享未用预算。
评估
IOCost 在 Meta 数百万台机器上全量部署,已上游合入 Linux 内核并开源设备剖析工具,生产运行两年。
原文摘要(Abstract)

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 原文 · PDF(开放获取) · DBLP

BibTeX
@inproceedings{HeoSNLDNBMT022,
  title = {IOCost: block IO control for containers in datacenters},
  author = {Tejun Heo and Dan Schatzberg and Andrew Newell and Song Liu and Saravanan Dhakshinamurthy and Iyswarya Narayanan and Josef Bacik and Chris Mason and Chunqiang Tang and Dimitrios Skarlatos},
  booktitle = {ASPLOS},
  year = {2022},
  doi = {10.1145/3503222.3507727}
}