TY - GEN
T1 - CFFQ
T2 - 11th International Conference on Ubiquitous Information Management and Communication, IMCOM 2017
AU - Yi, Minhoon
AU - Lee, Minho
AU - Eom, Young Ik
N1 - Publisher Copyright:
© 2017 ACM.
PY - 2017/1/5
Y1 - 2017/1/5
N2 - Linux kernel has I/O schedulers to efficiently manage I/O requests of applications and reflect them to the storage. In addition, the existing Linux I/O schedulers are optimized to HDDs (Hard Disk Drivers), because computer systems have mainly used HDDs as a secondary storage in the past. However, since they are composed of mechanical parts including disk arm and rotary disks, they suffer from the performance bottleneck caused by disk seek time and rotation time. To mitigate this problem, CFQ scheduler, which is a default Linux I/O scheduler now, manages I/O requests with sorting and merging operation. CFQ scheduler utilizes redblack tree as a per-process request queue to fairly distribute I/O bandwidth to each process. Unfortunately, CFQ scheduler shows low responsiveness in SSDs (Solid State Drives) which are currently prevalent on the market. In SSDs, although noop scheduler outperforms CFQ scheduler in terms of latency due to its simple FIFO management for the request queue, it unfairly distributes I/O bandwidth to processes. For this reason, both the CFQ and noop scheduler are thought as unsuitable for the SSDs. In this paper, we propose a novel Linux I/O scheduler, called CFFQ (Completely Fair FIFO Queueing) scheduler. CFFQ scheduler supports FIFO queue as a request queue for each process and manages it with round-robin scheme. Experimental results show that our scheduler not only guarantees more I/O bandwidth fairness by up to 37.3% compared with noop scheduler, but also improves latency by up to 50.3% compared with CFQ scheduler.
AB - Linux kernel has I/O schedulers to efficiently manage I/O requests of applications and reflect them to the storage. In addition, the existing Linux I/O schedulers are optimized to HDDs (Hard Disk Drivers), because computer systems have mainly used HDDs as a secondary storage in the past. However, since they are composed of mechanical parts including disk arm and rotary disks, they suffer from the performance bottleneck caused by disk seek time and rotation time. To mitigate this problem, CFQ scheduler, which is a default Linux I/O scheduler now, manages I/O requests with sorting and merging operation. CFQ scheduler utilizes redblack tree as a per-process request queue to fairly distribute I/O bandwidth to each process. Unfortunately, CFQ scheduler shows low responsiveness in SSDs (Solid State Drives) which are currently prevalent on the market. In SSDs, although noop scheduler outperforms CFQ scheduler in terms of latency due to its simple FIFO management for the request queue, it unfairly distributes I/O bandwidth to processes. For this reason, both the CFQ and noop scheduler are thought as unsuitable for the SSDs. In this paper, we propose a novel Linux I/O scheduler, called CFFQ (Completely Fair FIFO Queueing) scheduler. CFFQ scheduler supports FIFO queue as a request queue for each process and manages it with round-robin scheme. Experimental results show that our scheduler not only guarantees more I/O bandwidth fairness by up to 37.3% compared with noop scheduler, but also improves latency by up to 50.3% compared with CFQ scheduler.
KW - Fairness
KW - FIFO
KW - I/O bandwidth
KW - Latency
KW - Linux I/O scheduler
KW - Round-robin
KW - SSD
UR - https://www.scopus.com/pages/publications/85015154076
U2 - 10.1145/3022227.3022313
DO - 10.1145/3022227.3022313
M3 - Conference contribution
AN - SCOPUS:85015154076
T3 - Proceedings of the 11th International Conference on Ubiquitous Information Management and Communication, IMCOM 2017
BT - Proceedings of the 11th International Conference on Ubiquitous Information Management and Communication, IMCOM 2017
PB - Association for Computing Machinery, Inc
Y2 - 5 January 2017 through 7 January 2017
ER -