Linux 4.12 I/O Scheduler Kyper BFQ CFQ None mq-deadline Tests Linux 4.12 kernel none, mq-deadline, Kyber, BFQ I/O scheduler tests along with CFQ, Noop, and deadline on a SATA 3.0 Samsung SSD for reference. Tests by Michael Larabel for a future article. CFQ: Processor: Intel Core i7-6800K @ 3.80GHz (12 Cores), Motherboard: MSI X99A WORKSTATION (MS-7A54) v1.0, Chipset: Intel Xeon E7 v4/Xeon, Memory: 16384MB, Disk: 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150, Graphics: NVIDIA GeForce GTX TITAN X 12288MB, Audio: Realtek ALC1150, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 17.04, Kernel: 4.11.0+ (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: nouveau 1.0.14, OpenGL: 4.3 Mesa 17.0.3 Gallium 0.4, Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406 + Clang 4.0.0-1ubuntu1, File-System: ext4, Screen Resolution: 2560x1440 Noop: Processor: Intel Core i7-6800K @ 3.80GHz (12 Cores), Motherboard: MSI X99A WORKSTATION (MS-7A54) v1.0, Chipset: Intel Xeon E7 v4/Xeon, Memory: 16384MB, Disk: 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150, Graphics: NVIDIA GeForce GTX TITAN X 12288MB, Audio: Realtek ALC1150, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 17.04, Kernel: 4.11.0+ (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: nouveau 1.0.14, OpenGL: 4.3 Mesa 17.0.3 Gallium 0.4, Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406 + Clang 4.0.0-1ubuntu1, File-System: ext4, Screen Resolution: 2560x1440 Deadline: Processor: Intel Core i7-6800K @ 3.80GHz (12 Cores), Motherboard: MSI X99A WORKSTATION (MS-7A54) v1.0, Chipset: Intel Xeon E7 v4/Xeon, Memory: 16384MB, Disk: 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150, Graphics: NVIDIA GeForce GTX TITAN X 12288MB, Audio: Realtek ALC1150, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 17.04, Kernel: 4.11.0+ (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: nouveau 1.0.14, OpenGL: 4.3 Mesa 17.0.3 Gallium 0.4, Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406 + Clang 4.0.0-1ubuntu1, File-System: ext4, Screen Resolution: 2560x1440 mq-deadline: Processor: Intel Core i7-6800K @ 3.80GHz (12 Cores), Motherboard: MSI X99A WORKSTATION (MS-7A54) v1.0, Chipset: Intel Xeon E7 v4/Xeon, Memory: 16384MB, Disk: 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150, Graphics: NVIDIA GeForce GTX TITAN X 12288MB, Audio: Realtek ALC1150, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 17.04, Kernel: 4.11.0+ (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: nouveau 1.0.14, OpenGL: 4.3 Mesa 17.0.3 Gallium 0.4, Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406 + Clang 4.0.0-1ubuntu1, File-System: ext4, Screen Resolution: 2560x1440 Kyber: Processor: Intel Core i7-6800K @ 3.80GHz (12 Cores), Motherboard: MSI X99A WORKSTATION (MS-7A54) v1.0, Chipset: Intel Xeon E7 v4/Xeon, Memory: 16384MB, Disk: 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150, Graphics: NVIDIA GeForce GTX TITAN X 12288MB, Audio: Realtek ALC1150, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 17.04, Kernel: 4.11.0+ (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: nouveau 1.0.14, OpenGL: 4.3 Mesa 17.0.3 Gallium 0.4, Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406 + Clang 4.0.0-1ubuntu1, File-System: ext4, Screen Resolution: 2560x1440 BFQ: Processor: Intel Core i7-6800K @ 3.80GHz (12 Cores), Motherboard: MSI X99A WORKSTATION (MS-7A54) v1.0, Chipset: Intel Xeon E7 v4/Xeon, Memory: 16384MB, Disk: 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150, Graphics: NVIDIA GeForce GTX TITAN X 12288MB, Audio: Realtek ALC1150, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 17.04, Kernel: 4.11.0+ (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: nouveau 1.0.14, OpenGL: 4.3 Mesa 17.0.3 Gallium 0.4, Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406 + Clang 4.0.0-1ubuntu1, File-System: ext4, Screen Resolution: 2560x1440 None: Processor: Intel Core i7-6800K @ 3.80GHz (12 Cores), Motherboard: MSI X99A WORKSTATION (MS-7A54) v1.0, Chipset: Intel Xeon E7 v4/Xeon, Memory: 16384MB, Disk: 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150, Graphics: NVIDIA GeForce GTX TITAN X 12288MB, Audio: Realtek ALC1150, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 17.04, Kernel: 4.11.0+ (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: nouveau 1.0.14, OpenGL: 4.3 Mesa 17.0.3 Gallium 0.4, Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406 + Clang 4.0.0-1ubuntu1, File-System: ext4, Screen Resolution: 2560x1440 SQLite 3.8.10.2 Test Target: Default Test Directory Seconds < Lower Is Better CFQ ......... 25.07 |=========================================== Noop ........ 24.01 |========================================= Deadline .... 24.45 |========================================== mq-deadline . 25.11 |=========================================== Kyber ....... 25.79 |============================================= BFQ ......... 33.58 |========================================================== None ........ 25.28 |============================================ Flexible IO Tester 2.1.13 Type: Random Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better CFQ ......... 344.29 |========================================================= Noop ........ 344.57 |========================================================= Deadline .... 344.42 |========================================================= mq-deadline . 342.22 |========================================================= Kyber ....... 342.26 |========================================================= BFQ ......... 341.78 |========================================================= None ........ 342.75 |========================================================= Flexible IO Tester 2.1.13 Type: Random Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better CFQ ......... 86068 |========================================================== Noop ........ 86140 |========================================================== Deadline .... 86100 |========================================================== mq-deadline . 85552 |========================================================== Kyber ....... 85562 |========================================================== BFQ ......... 85440 |========================================================== None ........ 85684 |========================================================== Flexible IO Tester 2.1.13 Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better CFQ ......... 423.42 |========================================================= Noop ........ 419.25 |======================================================== Deadline .... 418.67 |======================================================== mq-deadline . 342.19 |============================================== Kyber ....... 342.47 |============================================== BFQ ......... 341.68 |============================================== None ........ 342.77 |============================================== Flexible IO Tester 2.1.13 Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better CFQ ......... 105851 |========================================================= Noop ........ 104810 |======================================================== Deadline .... 104663 |======================================================== mq-deadline . 85543 |============================================== Kyber ....... 85613 |============================================== BFQ ......... 85416 |============================================== None ........ 85689 |============================================== FS-Mark 3.3 Test: 1000 Files, 1MB Size Files/s > Higher Is Better CFQ ......... 108.80 |======================================================= Noop ........ 112.58 |========================================================= Deadline .... 110.87 |======================================================== mq-deadline . 111.27 |======================================================== Kyber ....... 111.17 |======================================================== BFQ ......... 93.40 |=============================================== None ........ 111.33 |======================================================== FS-Mark 3.3 Test: 5000 Files, 1MB Size, 4 Threads Files/s > Higher Is Better CFQ ......... 115.20 |========================================================= Noop ........ 114.13 |======================================================== Deadline .... 110.47 |======================================================= mq-deadline . 107.73 |===================================================== Kyber ....... 110.27 |======================================================= BFQ ......... 95.20 |=============================================== None ........ 100.40 |================================================== FS-Mark 3.3 Test: 4000 Files, 32 Sub Dirs, 1MB Size Files/s > Higher Is Better CFQ ......... 73.28 |========================================================= Noop ........ 70.52 |======================================================= Deadline .... 69.25 |====================================================== mq-deadline . 74.35 |========================================================== Kyber ....... 69.30 |====================================================== BFQ ......... 63.07 |================================================= None ........ 65.63 |=================================================== BlogBench 1.0 Test: Write Final Score > Higher Is Better CFQ ......... 5736 |===================================================== Noop ........ 4919 |============================================= Deadline .... 4810 |============================================ mq-deadline . 6441 |=========================================================== Kyber ....... 6277 |========================================================= BFQ ......... 6160 |======================================================== None ........ 6304 |========================================================== Dbench 4.0 Client Count: 1 MB/s > Higher Is Better CFQ ......... 56.64 |========================================================== Noop ........ 53.64 |======================================================= Deadline .... 53.05 |====================================================== mq-deadline . 53.31 |======================================================= Kyber ....... 53.11 |====================================================== BFQ ......... 40.85 |========================================== None ........ 53.86 |======================================================= Dbench 4.0 Client Count: 6 MB/s > Higher Is Better CFQ ......... 141.47 |====================================================== Noop ........ 125.90 |================================================ Deadline .... 148.82 |========================================================= mq-deadline . 141.61 |====================================================== Kyber ....... 140.54 |====================================================== BFQ ......... 46.28 |================== None ........ 142.12 |====================================================== IOzone 3.405 Record Size: 4Kb - File Size: 8GB - Disk Test: Write Performance MB/s > Higher Is Better CFQ ......... 149.96 |======================================================== Noop ........ 141.97 |===================================================== Deadline .... 135.91 |=================================================== mq-deadline . 136.84 |=================================================== Kyber ....... 152.98 |========================================================= BFQ ......... 150.06 |======================================================== None ........ 144.28 |====================================================== Threaded I/O Tester 20170503 Test: Random Write - Size Per Thread: 32MB - Thread Count: 4 MB/s > Higher Is Better CFQ ......... 10.29 |=================== Noop ........ 30.97 |========================================================== Deadline .... 10.19 |=================== mq-deadline . 11.45 |===================== Kyber ....... 11.62 |====================== BFQ ......... 3.03 |====== None ........ 11.80 |====================== Compile Bench 0.6 Test: Initial Create MB/s > Higher Is Better CFQ ......... 501.64 |========================================================= Noop ........ 435.78 |================================================== Deadline .... 429.51 |================================================= mq-deadline . 493.60 |======================================================== Kyber ....... 434.90 |================================================= BFQ ......... 457.55 |==================================================== None ........ 439.94 |================================================== Unpacking The Linux Kernel linux-2.6.32.tar.bz2 Seconds < Lower Is Better CFQ ......... 8.50 |========================================================= Noop ........ 8.67 |========================================================== Deadline .... 8.50 |========================================================= mq-deadline . 8.78 |=========================================================== Kyber ....... 8.63 |========================================================== BFQ ......... 8.61 |========================================================== None ........ 8.64 |========================================================== Timed Apache Compilation 2.4.7 Time To Compile Seconds < Lower Is Better CFQ ......... 26.31 |========================================================== Noop ........ 26.30 |========================================================== Deadline .... 26.22 |========================================================== mq-deadline . 26.19 |========================================================== Kyber ....... 26.19 |========================================================== BFQ ......... 26.27 |========================================================== None ........ 26.28 |========================================================== Timed Linux Kernel Compilation 4.9 Time To Compile Seconds < Lower Is Better CFQ ......... 95.55 |========================================================== Noop ........ 95.47 |========================================================== Deadline .... 95.59 |========================================================== mq-deadline . 94.40 |========================================================= Kyber ....... 94.72 |========================================================= BFQ ......... 94.85 |========================================================== None ........ 94.51 |========================================================= PostgreSQL pgbench 9.4.3 Scaling: On-Disk - Test: Normal Load - Mode: Read Write TPS > Higher Is Better CFQ ......... 2077.85 |======================================================== Noop ........ 1739.08 |=============================================== Deadline .... 1721.32 |============================================== mq-deadline . 1555.35 |========================================== Kyber ....... 1473.24 |======================================== BFQ ......... 1118.30 |============================== None ........ 1322.40 |==================================== Redis 3.0.1 Test: GET Requests Per Second > Higher Is Better CFQ ......... 2554110.08 |===================================================== Noop ........ 2356649.42 |================================================= Deadline .... 2371668.33 |================================================= mq-deadline . 2316374.58 |================================================ Kyber ....... 2340354.67 |================================================= BFQ ......... 2390633.83 |================================================== None ........ 2311959.42 |================================================ Redis 3.0.1 Test: SET Requests Per Second > Higher Is Better CFQ ......... 1776776.50 |=================================================== Noop ........ 1824142.79 |==================================================== Deadline .... 1795531.75 |=================================================== mq-deadline . 1811693.37 |==================================================== Kyber ....... 1838387.50 |==================================================== BFQ ......... 1859203.71 |===================================================== None ........ 1815065.83 |==================================================== Apache Benchmark 2.4.7 Static Web Page Serving Requests Per Second > Higher Is Better CFQ ......... 39155.92 |======================================================= Noop ........ 39201.34 |======================================================= Deadline .... 39082.54 |====================================================== mq-deadline . 39087.98 |======================================================= Kyber ....... 39443.93 |======================================================= BFQ ......... 39197.64 |======================================================= None ........ 39419.51 |=======================================================