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

Posted by Michael Larabel on January 09, 2012

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Wayland's Weston Gets Output Scaling Support
  2. Raspberry Pi Gets New Wayland Weston Renderer
  3. Debian GNU/Hurd 2013 Release Brings New Packages
  4. Intel Ultrabook Performance Is Faster With Mesa 9.2
  5. Hot Relocation HDD To SSD Support For Btrfs
  6. Phoronix Test Suite 4.6.0 "Utsira" Released
  7. New Intel X.Org Driver Supports All Of Haswell
  8. SQLite Now Faster With Memory Mapped I/O
  9. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  10. Qt For Tizen Launches, Based On Qt 5.1
  11. KTAP Released For Linux Kernel Dynamic Tracing
Latest Forum Talk
  1. Raspberry Pi Gets New Wayland Weston Renderer
  2. Debian GNU/Hurd 2013 Release Brings New Packages
  3. Favorite Open/Closed Source Games
  4. gnome 3.8 in RHEL7?
  5. DRM Moves Ahead With HTML5 Specification
  6. Intel Linux OpenGL Driver Leading Over Apple OS X
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite