sponsors
usenix conference policies
FlashFQ: A Fair Queueing I/O Scheduler for Flash-Based SSDs
Kai Shen and Stan Park, University of Rochester
On Flash-based solid-state disks (SSDs), different I/O operations (reads vs. writes, operations of different sizes) incur substantially different resource usage. This presents challenges for fair resource management in multi-programmed computer systems and multi-tenant cloud systems. Existing timeslice-based I/O schedulers achieve fairness at the cost of poor responsiveness, particularly when a large number of tasks compete for I/O simultaneously. At the same time, the diminished benefits of I/O spatial proximity on SSDs motivate fine-grained fair queueing approaches that do not enforce task-specific timeslices. This paper develops a new Flash I/O scheduler called FlashFQ. It enhances the start-time fair queueing schedulers with throttled dispatch to exploit restricted Flash I/O parallelism without losing fairness. It also employs I/O anticipation to minimize fairness violation due to deceptive idleness. We implemented FlashFQ in Linux and compared it with several existing I/O schedulers—Linux CFQ, an Argon-inspired quanta scheduler, FIOS timeslice scheduler, FIOS with short timeslices, and 4-Tag SFQ(D). Results on synthetic I/O benchmarks, the Apache web server, and Kyoto Cabinet key-value store demonstrate that only FlashFQ can achieve both fairness and high responsiveness on Flash-based SSDs.
Open Access Media
USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.
author = {Kai Shen and Stan Park},
title = {{FlashFQ}: A Fair Queueing {I/O} Scheduler for {Flash-Based} {SSDs}},
booktitle = {2013 USENIX Annual Technical Conference (USENIX ATC 13)},
year = {2013},
isbn = {978-1-931971-01-0},
address = {San Jose, CA},
pages = {67--78},
url = {https://www.usenix.org/conference/atc13/technical-sessions/presentation/shen},
publisher = {USENIX Association},
month = jun
}
connect with us