Linux 4.20 I/O Scheduler Benchmarks On NVMe SSD Storage
Complementing the recent Linux 4.19 I/O scheduler benchmarks using SATA 3.0 SSD storage, here are some benchmarks when using the current Linux 4.20 development kernel and also using faster NVMe solid-state storage for benchmarking. Most Linux distributions default to no I/O scheduler in the case of NVMe SSDs, but for your viewing pleasure today is a look at the performance against MQ Deadline, Kyber, and BFQ.
This round of Linux I/O scheduler benchmarking on 4.20 Git was done using an AMD Threadripper 2990WX workstation with a Samsung 970 EVO 500GB NVMe SSD. None, MQ-Deadline, Kyber, BFQ, and BFQ low_latency were the I/O scheduling options tested for this comparison. An EXT4 file-system was used for the root partition with the default mount options.
All of these Linux I/O benchmarks were done using the open-source Phoronix Test Suite benchmarking software.
As you can see from the overview, the default no I/O scheduler behavior on Ubuntu 18.10 for NVMe storage led in many benchmarks but not conclusively with BFQ and MQ-Deadline also picking up their share of wins. Facebook's Kyber meanwhile didn't do too well at least with this Samsung 970 EVO. Let's look at the data now in more detail.