H-BFQ: Supporting Multi-Level Hierarchical Cgroup in BFQ Scheduler

In current Linux systems, the BFQ scheduler has become the de-facto standard I/O scheduler that supports Cgroup. However, it cannot guarantee I/O proportionality when cgroups compose a multi-level hierarchy, because BFQ disregards the hierarchical relationship among the cgroups. To solve this problem, we propose a hierarchy-aware BFQ, called H-BFQ, which calculates the relative I/O proportion of each cgroup by traversing the entire Cgroup tree and distribute the I/O resources to the cgroups according to their I/O proportions. Experimental results demonstrate that H-BFQ guarantees I/O proportionality of the multi-level hierarchical Cgroup with negligible overhead.

[1]  David Hutchison,et al.  Review and Analysis of Networking Challenges in Cloud Computing , 2016, J. Netw. Comput. Appl..

[2]  Paul England,et al.  Resource management for isolation enhanced cloud services , 2009, CCSW '09.

[3]  Arif Merchant,et al.  Proportional-Share Scheduling for Distributed Storage Systems , 2007, FAST.

[4]  Jinkyu Jeong,et al.  Asynchronous I/O Stack: A Low-latency Kernel I/O Stack for Ultra-Low Latency SSDs , 2019, USENIX Annual Technical Conference.

[5]  Sam H. Noh,et al.  I/O Scheduling Schemes for Better I/O Proportionality on Flash-Based SSDs , 2016, 2016 IEEE 24th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS).

[6]  Fabio Checconi,et al.  High Throughput Disk Scheduling with Fair Bandwidth Distribution , 2010, IEEE Transactions on Computers.