FIOPS: A New Linux I/O Scheduler For Flash/SSDs

Written by Michael Larabel in Linux Kernel on 9 January 2012 at 09:43 AM EST. 14 Comments
LINUX KERNEL
Last week a new I/O scheduler was presented for the Linux kernel. This new scheduler, FIOPS, is designed around modern flash-based storage devices like solid-state drives.

Shaohua Li presented FIOPS, the Fair IOPS scheduler, under an "RFC" state last week on the Linux kernel mailing list.

This new I/O scheduler is designed around the following assumptions about Flash-based storage devices: no I/O seek time, read and write I/O cost is usually different from rotating media, time to make a request depends upon the request size, and high through-put and higher IOPS with low-latency. With these flash characteristics in mind, he wrote FIOPS.

CFQ, the commonly used Linux I/O scheduler at present, does well for rotating media but Shaohua believes his new scheduler is better for flash media. At present CFQ only has a few optimizations for SSDs. The design of the Fair IOPS scheduler is similar to CFQ but the dispatch decision is made according to IOPS instead of slice, while being backed by a simple algorithm.

This code is still in-development and thus not a candidate for the Linux 3.3 kernel. Some of the work items still left is ioprio support, request size vios scale, cgroup support, tracing support, and to automatically select the default I/O scheduler in a smart manner.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week