Linux 4.12 I/O Scheduler Benchmarks: BFQ, Kyber, Etc
Among the many new features for Linux 4.12 are two new I/O schedulers in mainline: the long-standing BFQ (Budget Fair Queueing) and Kyber, a new I/O scheduler developed at Facebook. Here are some initial benchmarks of these I/O schedulers on the Linux Git code as of this past week.
There's been a lot of interest by Phoronix readers in BFQ and Kyber. After the block changes were merged, I went ahead and carried out some benchmarks of these different I/O scheduler options.
Off an Intel Core i7 6800K system backed by a 120GB Samsung 850 EVO SATA 3.0 SSD I tested CFQ, Noop, and Deadline. Then with the multi-queue block support enabled, tested mq-deadline, Kyber, BFQ, and None.
A second system with an NVMe SSD was also tested for reference. This secondary system with Intel Xeon E3-1280 v5 Skylake CPU and 256GB Toshiba RD400 NVMe SSD was tested with none, mq-deadline, Kyber, and BFQ. With NVMe SSDs, an I/O scheduler isn't needed due to its faster speed (hence defaulting to none), but I still did these tests anyways for curiosity over the impact.
In this article are various disk benchmarks executed via the Phoronix Test Suite. For this initial testing were just a few of our standard disk performance benchmarks, not in this article looking at running multiple applications for checking on the responsiveness, etc. Those more time consuming tests will happen later in the Linux 4.12 cycle.