Improving I/O Resource Sharing of Linux Cgroup for NVMe SSDs on Multi-core Systems

Abstract

In container-based virtualization where multiple isolated containers share I/O resources on top of a single operating system, efficient and proportional I/O resource sharing is an important system requirement. Motivated by a lack of adequate support for I/O resource sharing in Linux Cgroup for high-performance NVMe SSDs, we developed a new weight-based dynamic throttling technique which can provide proportional I/O sharing for container-based virtualization solutions running on NUMA multi-core systems with NVMe SSDs. By intelligently predicting the future I/O bandwidth requirement of containers based on past I/O service rates of I/O-active containers, and modifying the current Linux Cgroup implementation for better NUMAscalable performance, our scheme achieves highly accurate I/O resource sharing while reducing wasted I/O bandwidth. Based on a Linux kernel 4.0.4 implementation running on a 4-node NUMA multi-core systems with NVMe SSDs, our experimental results show that the proposed technique can efficiently share the I/O bandwidth of NVMe SSDs among multiple containers according to given I/O weights.

View Slides

Extracted Key Phrases

7 Figures and Tables

Cite this paper

@inproceedings{Ahn2016ImprovingIR, title={Improving I/O Resource Sharing of Linux Cgroup for NVMe SSDs on Multi-core Systems}, author={Sungyong Ahn and Kwanghyun La and Jihong Kim}, booktitle={HotStorage}, year={2016} }