HDD IO Scheduler Tests

Linux 5.0 hard drive I/O scheduler benchmarks for a future article on Phoronix.com.

HTML result view exported from: https://openbenchmarking.org/result/1902248-SP-HDDIOSCHE01&gru&rdt.

ProcessorMotherboardChipsetMemoryDiskGraphicsAudioNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionWD5000AZRXWD1500HLHX Mq-Deadline None Kyber BFQ low-latency BFQ Mq-Deadline None Kyber BFQ low-latency BFQAMD Ryzen Threadripper 2990WX 32-Core @ 3.00GHz (32 Cores / 64 Threads)ASUS ROG ZENITH EXTREME (1601 BIOS)AMD Family 17h4 x 8192 MB DDR4-1600MT/s F4-3200C14-8GFX500GB Western Digital WD5000AZRX-0llvmpipeRealtek ALC1220Intel I211 + Qualcomm Atheros QCA6174 802.11ac + Wilocity Wil6200 802.11adUbuntu 18.045.0.0-050000rc6-generic (x86_64) 20190210GNOME Shell 3.28.3X Server 1.19.6modesetting 1.19.63.3 Mesa 18.0.5 (LLVM 6.0 128 bits)GCC 7.3.0ext41280x1024150GB Western Digital WD1500HLHX-0OpenBenchmarking.orgCompiler Details- --build=x86_64-linux-gnu --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --program-prefix=x86_64-linux-gnu- --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-multilib-list=m32,m64,mx32 --with-target-system-zlib --with-tune=generic --without-cuda-driver -v Disk Details- WD5000AZRX: Mq-Deadline: MQ-DEADLINE / relatime,rw- WD5000AZRX: None: NONE / relatime,rw- WD5000AZRX: Kyber: KYBER / relatime,rw- WD5000AZRX: BFQ low-latency: BFQ / relatime,rw- WD5000AZRX: BFQ: BFQ / relatime,rw- WD1500HLHX: Mq-Deadline: MQ-DEADLINE / relatime,rw- WD1500HLHX: None: NONE / relatime,rw- WD1500HLHX: Kyber: KYBER / relatime,rw- WD1500HLHX: BFQ low-latency: BFQ / relatime,rw- WD1500HLHX: BFQ: BFQ / relatime,rwProcessor Details- Scaling Governor: acpi-cpufreq ondemandPython Details- Python 2.7.15rc1 + Python 3.6.7Security Details- __user pointer sanitization + Full AMD retpoline IBPB: conditional STIBP: disabled RSB filling + SSB disabled via prctl and seccomp

fs-mark: 1000 Files, 1MB Sizefs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizefio: Rand Read - Linux AIO - Yes - No - 2MB - Default Test Directoryfio: Rand Write - Linux AIO - Yes - No - 2MB - Default Test Directoryfio: Seq Read - Linux AIO - Yes - No - 2MB - Default Test Directoryfio: Seq Write - Linux AIO - Yes - No - 2MB - Default Test Directorycompilebench: Compilecompilebench: Initial Createpgbench: Buffer Test - Normal Load - Read Onlypgbench: Buffer Test - Normal Load - Read Writestartup-time: Only Seq Reads - xterm - Default Test Directorystartup-time: Seq Reads + Writes - xterm - Default Test Directorysqlite: Timed SQLite Insertionsbuild-linux-kernel: Time To Compilegit: Time To Complete Common Git CommandsWD5000AZRXWD1500HLHX Mq-Deadline None Kyber BFQ low-latency BFQ Mq-Deadline None Kyber BFQ low-latency BFQ20.1346.1317.974529446558614393136749946062641977.2940.7459237.485.6820.2948.8021.034551452260984501134049245755842666.8740.4350237.415.6920.2848.4821.004647453959844346133848935201142063.4140.0460537.925.8720.4144.4014.87446845745891450513474804419583030.640.6551937.525.8020.4247.8721.97458946396208455313504773608662648.825.4954837.565.7932.6063.2933.504718451763414018137350444066855620.029.5127837.735.6232.0863.2030.234686369863844317135149445344555420.658.9427137.345.7631.7462.7130.904756451362264337133449644701056721.209.4527437.965.7631.9162.3632.73506942236361404613404834572614450.450.4827037.905.6332.0561.3332.07460545626204451813384833711524027.276.3228237.555.63OpenBenchmarking.org

FS-Mark

Test: 1000 Files, 1MB Size

WD5000AZRXWD1500HLHXOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeMq-DeadlineNoneKyberBFQ low-latencyBFQ816243240SE +/- 0.55, N = 11SE +/- 0.32, N = 12SE +/- 0.34, N = 12SE +/- 0.22, N = 12SE +/- 0.24, N = 12SE +/- 0.41, N = 7SE +/- 0.74, N = 10SE +/- 0.73, N = 10SE +/- 0.60, N = 12SE +/- 0.66, N = 1120.1320.2920.2820.4120.4232.6032.0831.7431.9132.051. (CC) gcc options: -static

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

WD5000AZRXWD1500HLHXOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsMq-DeadlineNoneKyberBFQ low-latencyBFQ1428425670SE +/- 1.33, N = 6SE +/- 0.40, N = 3SE +/- 0.73, N = 5SE +/- 1.46, N = 9SE +/- 0.87, N = 3SE +/- 1.39, N = 9SE +/- 1.47, N = 9SE +/- 1.35, N = 9SE +/- 1.13, N = 9SE +/- 1.58, N = 646.1348.8048.4844.4047.8763.2963.2062.7162.3661.331. (CC) gcc options: -static

FS-Mark

Test: 4000 Files, 32 Sub Dirs, 1MB Size

WD5000AZRXWD1500HLHXOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeMq-DeadlineNoneKyberBFQ low-latencyBFQ816243240SE +/- 0.03, N = 3SE +/- 0.12, N = 3SE +/- 0.12, N = 3SE +/- 0.26, N = 9SE +/- 0.35, N = 3SE +/- 0.26, N = 3SE +/- 0.24, N = 3SE +/- 0.10, N = 3SE +/- 0.35, N = 3SE +/- 0.48, N = 317.9721.0321.0014.8721.9733.5030.2330.9032.7332.071. (CC) gcc options: -static

Flexible IO Tester

Type: Random Read - IO Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test Directory

WD5000AZRXWD1500HLHXOpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Random Read - IO Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test DirectoryMq-DeadlineNoneKyberBFQ low-latencyBFQ11002200330044005500SE +/- 50.23, N = 3SE +/- 70.28, N = 4SE +/- 61.63, N = 6SE +/- 13.58, N = 3SE +/- 49.68, N = 12SE +/- 60.58, N = 3SE +/- 25.77, N = 3SE +/- 51.94, N = 3SE +/- 58.50, N = 3SE +/- 19.65, N = 345294551464744684589471846864756506946051. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Random Write - IO Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test Directory

WD5000AZRXWD1500HLHXOpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Random Write - IO Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test DirectoryMq-DeadlineNoneKyberBFQ low-latencyBFQ10002000300040005000SE +/- 88.93, N = 12SE +/- 50.29, N = 12SE +/- 120.82, N = 12SE +/- 82.74, N = 3SE +/- 65.44, N = 6SE +/- 50.38, N = 9SE +/- 63.65, N = 3SE +/- 62.19, N = 10SE +/- 28.54, N = 3SE +/- 62.79, N = 544654522453945744639451736984513422345621. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Read - IO Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test Directory

WD5000AZRXWD1500HLHXOpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Read - IO Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test DirectoryMq-DeadlineNoneKyberBFQ low-latencyBFQ14002800420056007000SE +/- 99.23, N = 4SE +/- 71.65, N = 12SE +/- 149.48, N = 12SE +/- 111.27, N = 3SE +/- 30.68, N = 3SE +/- 193.87, N = 10SE +/- 68.36, N = 10SE +/- 159.17, N = 11SE +/- 51.84, N = 3SE +/- 152.49, N = 1158616098598458916208634163846226636162041. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Write - IO Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test Directory

WD5000AZRXWD1500HLHXOpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Write - IO Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test DirectoryMq-DeadlineNoneKyberBFQ low-latencyBFQ10002000300040005000SE +/- 206.32, N = 10SE +/- 226.25, N = 10SE +/- 194.69, N = 10SE +/- 142.97, N = 11SE +/- 147.92, N = 11SE +/- 376.24, N = 10SE +/- 239.29, N = 10SE +/- 214.01, N = 10SE +/- 299.47, N = 9SE +/- 105.44, N = 1143934501434645054553401843174337404645181. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Compile Bench

Test: Compile

WD5000AZRXWD1500HLHXOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: CompileMq-DeadlineNoneKyberBFQ low-latencyBFQ30060090012001500SE +/- 10.97, N = 3SE +/- 25.86, N = 3SE +/- 9.35, N = 3SE +/- 15.90, N = 9SE +/- 8.13, N = 3SE +/- 7.11, N = 3SE +/- 10.84, N = 3SE +/- 9.20, N = 3SE +/- 19.69, N = 3SE +/- 12.62, N = 31367134013381347135013731351133413401338

Compile Bench

Test: Initial Create

WD5000AZRXWD1500HLHXOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateMq-DeadlineNoneKyberBFQ low-latencyBFQ110220330440550SE +/- 1.61, N = 3SE +/- 15.77, N = 3SE +/- 10.73, N = 3SE +/- 11.83, N = 3SE +/- 5.77, N = 3SE +/- 3.61, N = 3SE +/- 9.86, N = 3SE +/- 9.70, N = 3SE +/- 0.92, N = 3SE +/- 3.18, N = 3499492489480477504494496483483

PostgreSQL pgbench

Scaling: Buffer Test - Test: Normal Load - Mode: Read Only

WD5000AZRXWD1500HLHXOpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 10.3Scaling: Buffer Test - Test: Normal Load - Mode: Read OnlyMq-DeadlineNoneKyberBFQ low-latencyBFQ100K200K300K400K500KSE +/- 10455.88, N = 9SE +/- 10205.93, N = 9SE +/- 88821.64, N = 5SE +/- 11075.42, N = 12SE +/- 72738.00, N = 6SE +/- 11338.07, N = 9SE +/- 8325.40, N = 12SE +/- 2117.36, N = 3SE +/- 11557.12, N = 9SE +/- 75474.28, N = 64606264575583520114419583608664406684534454470104572613711521. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

PostgreSQL pgbench

Scaling: Buffer Test - Test: Normal Load - Mode: Read Write

WD5000AZRXWD1500HLHXOpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 10.3Scaling: Buffer Test - Test: Normal Load - Mode: Read WriteMq-DeadlineNoneKyberBFQ low-latencyBFQ120240360480600SE +/- 16.28, N = 9SE +/- 8.49, N = 9SE +/- 14.42, N = 9SE +/- 5.92, N = 10SE +/- 4.15, N = 12SE +/- 8.19, N = 12SE +/- 7.99, N = 12SE +/- 8.29, N = 12SE +/- 10.31, N = 12SE +/- 6.77, N = 124194264203032645565545674454021. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

Application Start-up Time

Background I/O Mix: Only Sequential Reads - Application To Start: xterm - Disk Target: Default Test Directory

WD5000AZRXWD1500HLHXOpenBenchmarking.orgsec, Fewer Is BetterApplication Start-up Time 2.4.0Background I/O Mix: Only Sequential Reads - Application To Start: xterm - Disk Target: Default Test DirectoryMq-DeadlineNoneKyberBFQ low-latencyBFQ20406080100SE +/- 3.92, N = 6SE +/- 1.11, N = 9SE +/- 0.51, N = 3SE +/- 0.01, N = 4SE +/- 0.75, N = 9SE +/- 0.18, N = 3SE +/- 0.37, N = 9SE +/- 0.13, N = 3SE +/- 0.01, N = 3SE +/- 0.63, N = 677.2966.8763.410.648.8220.0220.6521.200.457.27

Application Start-up Time

Background I/O Mix: Sequential Reads + Writes - Application To Start: xterm - Disk Target: Default Test Directory

WD5000AZRXWD1500HLHXOpenBenchmarking.orgsec, Fewer Is BetterApplication Start-up Time 2.4.0Background I/O Mix: Sequential Reads + Writes - Application To Start: xterm - Disk Target: Default Test DirectoryMq-DeadlineNoneKyberBFQ low-latencyBFQ918273645SE +/- 0.22, N = 3SE +/- 0.38, N = 3SE +/- 0.58, N = 3SE +/- 0.03, N = 8SE +/- 0.36, N = 9SE +/- 0.15, N = 9SE +/- 0.14, N = 3SE +/- 0.15, N = 3SE +/- 0.02, N = 8SE +/- 0.54, N = 640.7440.4340.040.655.499.518.949.450.486.32

SQLite

Timed SQLite Insertions

WD5000AZRXWD1500HLHXOpenBenchmarking.orgSeconds, Fewer Is BetterSQLite 3.22Timed SQLite InsertionsMq-DeadlineNoneKyberBFQ low-latencyBFQ130260390520650SE +/- 79.38, N = 8SE +/- 7.65, N = 9SE +/- 69.79, N = 9SE +/- 7.84, N = 9SE +/- 5.91, N = 3SE +/- 7.10, N = 9SE +/- 3.40, N = 9SE +/- 3.64, N = 9SE +/- 2.86, N = 3SE +/- 4.35, N = 95925026055195482782712742702821. (CC) gcc options: -O2 -lz -ldl -lpthread

Timed Linux Kernel Compilation

Time To Compile

WD5000AZRXWD1500HLHXOpenBenchmarking.orgSeconds, Fewer Is BetterTimed Linux Kernel Compilation 4.18Time To CompileMq-DeadlineNoneKyberBFQ low-latencyBFQ918273645SE +/- 0.53, N = 6SE +/- 0.54, N = 5SE +/- 0.50, N = 6SE +/- 0.46, N = 7SE +/- 0.51, N = 6SE +/- 0.64, N = 4SE +/- 0.53, N = 5SE +/- 0.59, N = 5SE +/- 0.59, N = 5SE +/- 0.53, N = 637.4837.4137.9237.5237.5637.7337.3437.9637.9037.55

Git

Time To Complete Common Git Commands

WD5000AZRXWD1500HLHXOpenBenchmarking.orgSeconds, Fewer Is BetterGitTime To Complete Common Git CommandsMq-DeadlineNoneKyberBFQ low-latencyBFQ1.32082.64163.96245.28326.604SE +/- 0.12, N = 12SE +/- 0.09, N = 12SE +/- 0.10, N = 12SE +/- 0.06, N = 12SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.03, N = 3SE +/- 0.08, N = 125.685.695.875.805.795.625.765.765.635.631. git version 2.17.1


Phoronix Test Suite v10.8.5