Linux 4.19 I/O Scheduler Performance Linux I/O scheduler benchmarks for a future article on Phoronix.com. CFQ: Processor: 2 x AMD EPYC 7601 32-Core (64 Cores / 128 Threads), Motherboard: Dell 02MJ3T (1.2.5 BIOS), Chipset: AMD Family 17h, Memory: 16 x 32 GB DDR4-2400MT/s 36ASF4G72PZ-2G6D2, Disk: 120GB SSDSCKJB120G7R + 20 x 500GB Samsung SSD 860, Graphics: Matrox G200eW3, Monitor: VE228, Network: Broadcom BCM57416 NetXtreme-E Dual-Media 10G RDMA OS: Ubuntu 18.10, Kernel: 4.19.0-041900-generic (x86_64), Compiler: GCC 8.2.0 + Clang 7.0.0-3 + LLVM 7.0.0, File-System: ext4, Screen Resolution: 1600x1200 Deadline: Processor: 2 x AMD EPYC 7601 32-Core (64 Cores / 128 Threads), Motherboard: Dell 02MJ3T (1.2.5 BIOS), Chipset: AMD Family 17h, Memory: 16 x 32 GB DDR4-2400MT/s 36ASF4G72PZ-2G6D2, Disk: 20 x 500GB Samsung SSD 860 + 120GB SSDSCKJB120G7R, Graphics: Matrox G200eW3, Monitor: VE228, Network: Broadcom BCM57416 NetXtreme-E Dual-Media 10G RDMA OS: Ubuntu 18.10, Kernel: 4.19.0-041900-generic (x86_64), Compiler: GCC 8.2.0 + Clang 7.0.0-3 + LLVM 7.0.0, File-System: ext4, Screen Resolution: 1600x1200 Noop: Processor: 2 x AMD EPYC 7601 32-Core (64 Cores / 128 Threads), Motherboard: Dell 02MJ3T (1.2.5 BIOS), Chipset: AMD Family 17h, Memory: 16 x 32 GB DDR4-2400MT/s 36ASF4G72PZ-2G6D2, Disk: 120GB SSDSCKJB120G7R + 20 x 500GB Samsung SSD 860, Graphics: Matrox G200eW3, Monitor: VE228, Network: Broadcom BCM57416 NetXtreme-E Dual-Media 10G RDMA OS: Ubuntu 18.10, Kernel: 4.19.0-041900-generic (x86_64), Compiler: GCC 8.2.0 + Clang 7.0.0-3 + LLVM 7.0.0, File-System: ext4, Screen Resolution: 1600x1200 MQ None: Processor: 2 x AMD EPYC 7601 32-Core (64 Cores / 128 Threads), Motherboard: Dell 02MJ3T (1.2.5 BIOS), Chipset: AMD Family 17h, Memory: 16 x 32 GB DDR4-2400MT/s 36ASF4G72PZ-2G6D2, Disk: 120GB SSDSCKJB120G7R + 20 x 500GB Samsung SSD 860, Graphics: Matrox G200eW3, Monitor: VE228, Network: Broadcom BCM57416 NetXtreme-E Dual-Media 10G RDMA OS: Ubuntu 18.10, Kernel: 4.19.0-041900-generic (x86_64), Compiler: GCC 8.2.0 + Clang 7.0.0-3 + LLVM 7.0.0, File-System: ext4, Screen Resolution: 1600x1200 BFQ low_latency: Processor: 2 x AMD EPYC 7601 32-Core (64 Cores / 128 Threads), Motherboard: Dell 02MJ3T (1.2.5 BIOS), Chipset: AMD Family 17h, Memory: 16 x 32 GB DDR4-2400MT/s 36ASF4G72PZ-2G6D2, Disk: 120GB SSDSCKJB120G7R + 20 x 500GB Samsung SSD 860, Graphics: Matrox G200eW3, Monitor: VE228, Network: Broadcom BCM57416 NetXtreme-E Dual-Media 10G RDMA OS: Ubuntu 18.10, Kernel: 4.19.0-041900-generic (x86_64), Compiler: GCC 8.2.0 + Clang 7.0.0-3 + LLVM 7.0.0, File-System: ext4, Screen Resolution: 1600x1200 BFQ: Processor: 2 x AMD EPYC 7601 32-Core (64 Cores / 128 Threads), Motherboard: Dell 02MJ3T (1.2.5 BIOS), Chipset: AMD Family 17h, Memory: 16 x 32 GB DDR4-2400MT/s 36ASF4G72PZ-2G6D2, Disk: 120GB SSDSCKJB120G7R + 20 x 500GB Samsung SSD 860, Graphics: Matrox G200eW3, Monitor: VE228, Network: Broadcom BCM57416 NetXtreme-E Dual-Media 10G RDMA OS: Ubuntu 18.10, Kernel: 4.19.0-041900-generic (x86_64), Compiler: GCC 8.2.0 + Clang 7.0.0-3 + LLVM 7.0.0, File-System: ext4, Screen Resolution: 1600x1200 Kyber: Processor: 2 x AMD EPYC 7601 32-Core (64 Cores / 128 Threads), Motherboard: Dell 02MJ3T (1.2.5 BIOS), Chipset: AMD Family 17h, Memory: 16 x 32 GB DDR4-2400MT/s 36ASF4G72PZ-2G6D2, Disk: 120GB SSDSCKJB120G7R + 20 x 500GB Samsung SSD 860, Graphics: Matrox G200eW3, Monitor: VE228, Network: Broadcom BCM57416 NetXtreme-E Dual-Media 10G RDMA OS: Ubuntu 18.10, Kernel: 4.19.0-041900-generic (x86_64), Compiler: GCC 8.2.0 + Clang 7.0.0-3 + LLVM 7.0.0, File-System: ext4, Screen Resolution: 1600x1200 MQ Deadline: Processor: 2 x AMD EPYC 7601 32-Core (64 Cores / 128 Threads), Motherboard: Dell 02MJ3T (1.2.5 BIOS), Chipset: AMD Family 17h, Memory: 16 x 32 GB DDR4-2400MT/s 36ASF4G72PZ-2G6D2, Disk: 120GB SSDSCKJB120G7R + 20 x 500GB Samsung SSD 860, Graphics: Matrox G200eW3, Monitor: VE228, Network: Broadcom BCM57416 NetXtreme-E Dual-Media 10G RDMA OS: Ubuntu 18.10, Kernel: 4.19.0-041900-generic (x86_64), Compiler: GCC 8.2.0 + Clang 7.0.0-3 + LLVM 7.0.0, File-System: ext4, Screen Resolution: 1600x1200 Flexible IO Tester 3.1 Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory MB/s > Higher Is Better CFQ ............. 253 |========================== Deadline ........ 542 |======================================================== Noop ............ 542 |======================================================== MQ None ......... 543 |======================================================== BFQ low_latency . 543 |======================================================== BFQ ............. 542 |======================================================== Kyber ........... 543 |======================================================== MQ Deadline ..... 543 |======================================================== FS-Mark 3.3 Test: 4000 Files, 32 Sub Dirs, 1MB Size Files/s > Higher Is Better CFQ ............. 86.70 |===================================================== Deadline ........ 84.47 |=================================================== Noop ............ 81.80 |================================================== MQ None ......... 57.20 |=================================== BFQ low_latency . 66.93 |========================================= BFQ ............. 83.83 |=================================================== Kyber ........... 89.17 |====================================================== MQ Deadline ..... 67.38 |========================================= Flexible IO Tester 3.1 Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory MB/s > Higher Is Better CFQ ............. 382 |======================================================== Deadline ........ 382 |======================================================== Noop ............ 253 |===================================== MQ None ......... 252 |===================================== BFQ low_latency . 252 |===================================== BFQ ............. 381 |======================================================== Kyber ........... 253 |===================================== MQ Deadline ..... 252 |===================================== Flexible IO Tester 3.1 Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory MB/s > Higher Is Better CFQ ............. 405 |======================================================= Deadline ........ 410 |======================================================== Noop ............ 318 |=========================================== MQ None ......... 311 |========================================== BFQ low_latency . 312 |=========================================== BFQ ............. 386 |===================================================== Kyber ........... 312 |=========================================== MQ Deadline ..... 313 |=========================================== Flexible IO Tester 3.1 Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better CFQ ............. 322 |======================================================= Deadline ........ 324 |======================================================= Noop ............ 253 |=========================================== MQ None ......... 252 |=========================================== BFQ low_latency . 253 |=========================================== BFQ ............. 329 |======================================================== Kyber ........... 253 |=========================================== MQ Deadline ..... 252 |=========================================== Flexible IO Tester 3.1 Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better CFQ ............. 82567 |===================================================== Deadline ........ 82833 |===================================================== Noop ............ 64800 |========================================== MQ None ......... 64600 |========================================= BFQ low_latency . 64633 |========================================= BFQ ............. 84300 |====================================================== Kyber ........... 64700 |========================================= MQ Deadline ..... 64600 |========================================= Flexible IO Tester 3.1 Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better CFQ ............. 72667 |================================================= Deadline ........ 80200 |====================================================== Noop ............ 69500 |=============================================== MQ None ......... 69133 |=============================================== BFQ low_latency . 69500 |=============================================== BFQ ............. 68767 |============================================== Kyber ........... 70467 |=============================================== MQ Deadline ..... 69700 |=============================================== Flexible IO Tester 3.1 Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better CFQ ............. 284 |=================================================== Deadline ........ 313 |======================================================== Noop ............ 271 |================================================ MQ None ......... 270 |================================================ BFQ low_latency . 272 |================================================= BFQ ............. 270 |================================================ Kyber ........... 275 |================================================= MQ Deadline ..... 272 |================================================= BlogBench 1.0 Test: Read Final Score > Higher Is Better CFQ ............. 748396 |================================================= Deadline ........ 736143 |================================================ Noop ............ 705847 |============================================== MQ None ......... 795075 |==================================================== BFQ low_latency . 785541 |==================================================== BFQ ............. 805148 |===================================================== Kyber ........... 780536 |=================================================== MQ Deadline ..... 783446 |==================================================== Flexible IO Tester 3.1 Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better CFQ ............. 237 |======================================================== Deadline ........ 237 |======================================================== Noop ............ 238 |======================================================== MQ None ......... 227 |===================================================== BFQ low_latency . 212 |================================================== BFQ ............. 236 |======================================================== Kyber ........... 236 |======================================================== MQ Deadline ..... 226 |===================================================== Flexible IO Tester 3.1 Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better CFQ ............. 60767 |====================================================== Deadline ........ 60600 |====================================================== Noop ............ 60633 |====================================================== MQ None ......... 58067 |==================================================== BFQ low_latency . 54280 |================================================ BFQ ............. 60333 |====================================================== Kyber ........... 60533 |====================================================== MQ Deadline ..... 57733 |=================================================== Compile Bench 0.6 Test: Read Compiled Tree MB/s > Higher Is Better CFQ ............. 881 |=================================================== Deadline ........ 938 |====================================================== Noop ............ 968 |======================================================== MQ None ......... 972 |======================================================== BFQ low_latency . 960 |======================================================= BFQ ............. 969 |======================================================== Kyber ........... 949 |======================================================= MQ Deadline ..... 955 |======================================================= Compile Bench 0.6 Test: Initial Create MB/s > Higher Is Better CFQ ............. 370 |==================================================== Deadline ........ 388 |======================================================= Noop ............ 391 |======================================================= MQ None ......... 396 |======================================================== BFQ low_latency . 394 |======================================================== BFQ ............. 387 |======================================================= Kyber ........... 390 |======================================================= MQ Deadline ..... 389 |======================================================= Flexible IO Tester 3.1 Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better CFQ ............. 313 |======================================================== Deadline ........ 315 |======================================================== Noop ............ 309 |======================================================= MQ None ......... 309 |======================================================= BFQ low_latency . 310 |======================================================= BFQ ............. 313 |======================================================== Kyber ........... 308 |======================================================= MQ Deadline ..... 307 |======================================================= Flexible IO Tester 3.1 Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better CFQ ............. 80167 |====================================================== Deadline ........ 80567 |====================================================== Noop ............ 79100 |===================================================== MQ None ......... 79167 |===================================================== BFQ low_latency . 79300 |===================================================== BFQ ............. 80233 |====================================================== Kyber ........... 78567 |===================================================== MQ Deadline ..... 78767 |===================================================== Compile Bench 0.6 Test: Compile MB/s > Higher Is Better CFQ ............. 1554 |====================================================== Deadline ........ 1576 |====================================================== Noop ............ 1568 |====================================================== MQ None ......... 1571 |====================================================== BFQ low_latency . 1591 |======================================================= BFQ ............. 1575 |====================================================== Kyber ........... 1577 |======================================================= MQ Deadline ..... 1577 |======================================================= FS-Mark 3.3 Test: 1000 Files, 1MB Size, No Sync/FSync Files/s > Higher Is Better CFQ ............. 1890 |====================================================== Deadline ........ 1896 |====================================================== Noop ............ 1897 |====================================================== MQ None ......... 1920 |======================================================= BFQ low_latency . 1918 |======================================================= BFQ ............. 1896 |====================================================== Kyber ........... 1909 |======================================================= MQ Deadline ..... 1893 |====================================================== Timed GCC Compilation 8.2 Time To Compile Seconds < Lower Is Better CFQ ............. 806 |======================================================== Deadline ........ 803 |======================================================== Noop ............ 807 |======================================================== MQ None ......... 800 |======================================================== BFQ low_latency . 804 |======================================================== BFQ ............. 800 |======================================================== Kyber ........... 804 |======================================================== MQ Deadline ..... 796 |======================================================= Timed Linux Kernel Compilation 4.18 Time To Compile Seconds < Lower Is Better CFQ ............. 26.38 |====================================================== Deadline ........ 26.37 |====================================================== Noop ............ 26.48 |====================================================== MQ None ......... 26.50 |====================================================== BFQ low_latency . 26.49 |====================================================== BFQ ............. 26.43 |====================================================== Kyber ........... 26.42 |====================================================== MQ Deadline ..... 26.44 |====================================================== PostgreSQL pgbench 10.3 Scaling: Buffer Test - Test: Normal Load - Mode: Read Write TPS > Higher Is Better CFQ ............. 3656 |======================================== Deadline ........ 5074 |======================================================= Noop ............ 2554 |============================ MQ None ......... 2089 |======================= BFQ low_latency . 3406 |===================================== BFQ ............. 4837 |==================================================== Kyber ........... 2303 |========================= MQ Deadline ..... 2453 |=========================== PostgreSQL pgbench 10.3 Scaling: Buffer Test - Test: Normal Load - Mode: Read Only TPS > Higher Is Better CFQ ............. 519438 |================================================== Deadline ........ 552470 |===================================================== Noop ............ 533709 |=================================================== MQ None ......... 533463 |=================================================== BFQ low_latency . 519792 |================================================== BFQ ............. 545719 |==================================================== Kyber ........... 497899 |================================================ MQ Deadline ..... 506397 |================================================= BlogBench 1.0 Test: Write Final Score > Higher Is Better CFQ ............. 23547 |============================================== Deadline ........ 22817 |============================================= Noop ............ 21485 |========================================== MQ None ......... 27320 |====================================================== BFQ low_latency . 22512 |============================================ BFQ ............. 24163 |=============================================== Kyber ........... 27492 |====================================================== MQ Deadline ..... 26342 |==================================================== FS-Mark 3.3 Test: 5000 Files, 1MB Size, 4 Threads Files/s > Higher Is Better CFQ ............. 181 |======================================================= Deadline ........ 173 |===================================================== Noop ............ 178 |====================================================== MQ None ......... 140 |=========================================== BFQ low_latency . 131 |======================================== BFQ ............. 181 |======================================================= Kyber ........... 183 |======================================================== MQ Deadline ..... 123 |====================================== FS-Mark 3.3 Test: 1000 Files, 1MB Size Files/s > Higher Is Better CFQ ............. 174.00 |===================================================== Deadline ........ 173.00 |===================================================== Noop ............ 91.30 |============================ MQ None ......... 64.43 |==================== BFQ low_latency . 61.33 |=================== BFQ ............. 168.23 |=================================================== Kyber ........... 91.68 |============================ MQ Deadline ..... 59.23 |================== Flexible IO Tester 3.1 Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory MB/s > Higher Is Better CFQ ............. 391 |====================================================== Deadline ........ 403 |======================================================== Noop ............ 310 |=========================================== MQ None ......... 280 |======================================= BFQ low_latency . 223 |=============================== BFQ ............. 379 |===================================================== Kyber ........... 311 |=========================================== MQ Deadline ..... 243 |================================== SQLite 3.22 Timed SQLite Insertions Seconds < Lower Is Better CFQ ............. 33.17 |======================= Deadline ........ 34.20 |======================== Noop ............ 77.10 |====================================================== MQ None ......... 68.29 |================================================ BFQ low_latency . 75.05 |==================================================== BFQ ............. 57.32 |======================================== Kyber ........... 69.11 |================================================ MQ Deadline ..... 77.52 |======================================================