IOCost: block IO control for containers in datacenters
Tejun Heo, Dan Schatzberg, Andrew Newell, Song Liu, Saravanan Dhakshinamurthy, Iyswarya Narayanan, Josef Bacik, Chris Mason, Chunqiang Tang, Dimitrios Skarlatos
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.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext a00d7c01-8388-4ce7-8355-e90fbb55c4d2Cited by top-tier papers3
- Disaggregated RAID Storage in Modern DatacentersJunyi Shu, Ruidong Zhu, Yun Ma, Gang Huang et al.ASPLOS 2023 · 18 citations
- Burstable Cloud Block Storage with Data Processing UnitsJunyi Shu, Kun Qian, Ennan Zhai, Xuanzhe Liu et al.OSDI 2024 · 17 citations
- Xkernel: Principled Performance Tunability of Operating System KernelsZhongjie Chen, Wentao Zhang, Yulong Tang, Ran Shu et al.OSDI 2026 · 2 citations
Builds on4
- Twine: A Unified Cluster Management System for Shared InfrastructureChunqiang Tang, Kenny Yu, Kaushik Veeraraghavan, Jonathan Kaldor et al.OSDI 2020 · 107 citations
- RAS: Continuously Optimized Region-Wide Datacenter Resource AllocationAndrew Newell, Dimitrios Skarlatos, Jingyuan Fan, Pavan Kumar et al.SOSP 2021 · 19 citations
- BabelFish: Fusing Address Translations for ContainersDimitrios Skarlatos, Umur Darbaz, Bhargava Gopireddy, Nam Sung Kim et al.ISCA 2020 · 18 citations
- Draco: Architectural and Operating System Support for System Call SecurityDimitrios Skarlatos, Qingrong Chen, Jianyan Chen, Tianyin Xu et al.MICRO 2020 · 17 citations
Related papers
- TMO: transparent memory offloading in datacentersJohannes Weiner, Niket Agarwal, Dan Schatzberg, Leon Yang et al.ASPLOS 2022 · 103 citations
- i-NVMe: Isolated NVMe over TCP for a Containerized EnvironmentSeongho Lee, Ikjun Yeom, Younghoon KimINFOCOM 2023
- Harvesting Spare CPU Resources in Container SystemsAdam Hall, Anirudh Sarma, Esha Choukse, Umakishore Ramachandran et al.NSDI 2026 · 2 citations
- D2FQ: Device-Direct Fair Queueing for NVMe SSDsJiwon Woo, Minwoo Ahn, Gyusun Lee, Jinkyu JeongFAST 2021 · 45 citations
- Fair Will Go On: A Collaboration-Aware Fairness Scheme for NVMe SSD in Cloud Storage SystemYang Zhou, Fang Wang, Zhan Shi, Dan Feng et al.DAC 2023 · 7 citations
