With modern high-performance SSDs that can handle parallel I/O requests from multiple tenants, fair sharing of block I/O is an essential requirement for performance isolation. Typical block I/O schedulers take three steps (submit-arbitrate-dispatch) to transfer an I/O request to a device, and the three steps incur high overheads in terms of CPU utilization, scalability and block I/O performance. This motivates us to offload the I/O scheduling function to a device. If so, the three steps can be reduced to one step (submit=dispatch), thereby saving CPU cycles and improving the I/O performance. To this end, we propose D2FQ, a fair-queueing I/O scheduler that exploits the NVMe weighted round-robin (WRR) arbitration, a device-side I/O scheduling feature. D2FQ abstracts the three classes of command queues in WRR as three queues with different I/O processing speeds. Then, for every I/O submission D2FQ selects and dispatches an I/O request to one of three queues immediately while satisfying fairness. This avoids time-consuming I/O scheduling operations, thereby saving CPU cycles and improving the block I/O performance. The prototype is implemented in the Linux kernel and evaluated with various workloads. With synthetic workloads, D2FQ provides fairness while saving CPU cycles by up to 45% as compared to MQFQ, a state-of-the-art fair queueing I/O scheduler.
|Title of host publication||Proceedings of the 19th USENIX Conference on File and Storage Technologies, FAST 2021|
|Number of pages||13|
|Publication status||Published - 2021|
|Event||19th USENIX Conference on File and Storage Technologies, FAST 2021 - Virtual, Online|
Duration: 2021 Feb 23 → 2021 Feb 25
|Name||Proceedings of the 19th USENIX Conference on File and Storage Technologies, FAST 2021|
|Conference||19th USENIX Conference on File and Storage Technologies, FAST 2021|
|Period||21/2/23 → 21/2/25|
Bibliographical noteFunding Information:
We would like to thank the anonymous reviewers and our shepherd, Janki Bhimani, for their valuable comments. This work was supported partly by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIT) (NRF-2020R1A2C2102406), by the MSIT (Ministry of Science and ICT), Korea, under the ICT Creative Consilience program (IITP-2020-0-01821) and by Samsung Electronics.
© 2021 by The USENIX Association.
All Science Journal Classification (ASJC) codes
- Computer Networks and Communications
- Hardware and Architecture