Linux 4.20 IO Scheduler Tests

Linux 4.20 I/O scheduler tests by Michael Larabel on NVMe SSD storage for a future article on Phoronix.

Compare your own system(s) to this result file with the Phoronix Test Suite by running the command: phoronix-test-suite benchmark 1812038-SK-LINUX420I24
Jump To Table - Results

View

Do Not Show Noisy Results
Do Not Show Results With Incomplete Data
Do Not Show Results With Little Change/Spread
List Notable Results
Show Result Confidence Charts
Allow Limiting Results To Certain Suite(s)

Statistics

Show Overall Harmonic Mean(s)
Show Overall Geometric Mean
Show Wins / Losses Counts (Pie Chart)
Normalize Results
Remove Outliers Before Calculating Averages

Graph Settings

Force Line Graphs Where Applicable
Convert To Scalar Where Applicable
Prefer Vertical Bar Graphs

Multi-Way Comparison

Condense Multi-Option Tests Into Single Result Graphs

Table

Show Detailed System Result Table

Run Management

Highlight
Result
Toggle/Hide
Result
Result
Identifier
Performance Per
Dollar
Date
Run
  Test
  Duration
None
December 02 2018
  3 Hours, 16 Minutes
MQ Deadline
December 02 2018
  3 Hours, 18 Minutes
Kyber
December 02 2018
  3 Hours, 25 Minutes
BFQ low_latency
December 03 2018
  3 Hours, 50 Minutes
BFQ
December 03 2018
  3 Hours, 21 Minutes
Invert Behavior (Only Show Selected Data)
  3 Hours, 26 Minutes

Only show results where is faster than
Only show results matching title/arguments (delimit multiple options with a comma):
Do not show results matching title/arguments (delimit multiple options with a comma):


Linux 4.20 IO Scheduler TestsOpenBenchmarking.orgPhoronix Test SuiteAMD Ryzen Threadripper 2990WX 32-Core @ 3.00GHz (32 Cores / 64 Threads)ASUS ROG ZENITH EXTREME (1501 BIOS)AMD Family 17h4 x 8192 MB DDR4-1600MT/s F4-3200C14-8GFXSamsung SSD 970 EVO 500GBAMD Radeon RX Vega 8GBRealtek ALC1220ASUS VP28UIntel I211 Gigabit Connection + Qualcomm Atheros QCA6174 802.11ac WirelessUbuntu 18.104.20.0-999-generic (x86_64) 20181201GNOME Shell 3.30.1X Server4.5 Mesa 18.2.2 (LLVM 7.0.0)1.1.70GCC 8.2.0ext43840x2160ProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerOpenGLVulkanCompilerFile-SystemScreen ResolutionLinux 4.20 IO Scheduler Tests PerformanceSystem Logs- --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 - None: NONE / errors=remount-ro,relatime,rw- MQ Deadline: MQ-DEADLINE / errors=remount-ro,relatime,rw- Kyber: KYBER / errors=remount-ro,relatime,rw- BFQ low_latency: BFQ / errors=remount-ro,relatime,rw- BFQ: BFQ / errors=remount-ro,relatime,rw- Scaling Governor: acpi-cpufreq ondemand- __user pointer sanitization + Full AMD retpoline IBPB: conditional STIBP: disabled RSB filling + SSB disabled via prctl and seccomp

NoneMQ DeadlineKyberBFQ low_latencyBFQLogarithmic Result OverviewPhoronix Test SuiteApplication Start-up TimePostgreSQL pgbenchFS-MarkBlogBenchFlexible IO TesterSQLite

Linux 4.20 IO Scheduler Testsfio: Rand Read - Linux AIO - No - Yes - 2MB - Default Test Directoryfio: Rand Read - Linux AIO - No - Yes - 4KB - Default Test Directoryfio: Rand Write - Linux AIO - No - Yes - 2MB - Default Test Directoryfio: Rand Write - Linux AIO - No - Yes - 4KB - Default Test Directorystartup-time: Seq Reads + Writes - LibreOffice Writer - Default Test Directorystartup-time: Seq Reads + Writes - GNOME Terminal - Default Test Directorystartup-time: Only Seq Reads - LibreOffice Writer - Default Test Directorystartup-time: Only Seq Reads - GNOME Terminal - Default Test Directorystartup-time: Seq Reads + Writes - xterm - Default Test Directoryfio: Seq Read - Linux AIO - No - Yes - 2MB - Default Test Directoryfio: Seq Read - Linux AIO - No - Yes - 4KB - Default Test Directoryfio: Seq Write - Linux AIO - No - Yes - 2MB - Default Test Directoryfio: Seq Write - Linux AIO - No - Yes - 4KB - Default Test Directoryfs-mark: 1000 Files, 1MB Sizefs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizefs-mark: 1000 Files, 1MB Size, No Sync/FSyncblogbench: Readblogbench: Writesqlite: Timed SQLite Insertionspgbench: Buffer Test - Normal Load - Read Writestartup-time: Only Seq Reads - xterm - Default Test DirectoryNoneMQ DeadlineKyberBFQ low_latencyBFQ3322666236210112.493.221.772.130.7510309562402102223420396.0323207266381431835.9542850.54336276423698863.404.441.732.171.121034962240093922414991.9123199290211299337.9543810.54336275423699443.524.591.792.111.061029953239494922715284.2823159292931385637.9646090.54334271623717120.340.550.250.300.1810337612401712232216125.0823054883531913536.2154770.17336875223657103.174.451.782.241.1210337802394721229244124.6622894759341823937.3151510.55OpenBenchmarking.org

Flexible IO Tester

Fio is an advanced disk benchmark that depends upon the kernel's AIO access library. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test DirectoryBFQBFQ low_latencyKyberMQ DeadlineNone7001400210028003500SE +/- 23.46, N = 3SE +/- 12.86, N = 3SE +/- 18.46, N = 3SE +/- 9.71, N = 3SE +/- 16.84, N = 3336833423362336233221. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryBFQBFQ low_latencyKyberMQ DeadlineNone160320480640800SE +/- 1.00, N = 3SE +/- 2.91, N = 3SE +/- 6.23, N = 3SE +/- 1.86, N = 3SE +/- 1.67, N = 37527167547646661. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test DirectoryBFQBFQ low_latencyKyberMQ DeadlineNone5001000150020002500SE +/- 2.08, N = 3SE +/- 2.85, N = 3SE +/- 2.08, N = 3SE +/- 2.52, N = 3236523712369236923621. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryBFQBFQ low_latencyKyberMQ DeadlineNone2004006008001000SE +/- 3.79, N = 3SE +/- 4.73, N = 3SE +/- 4.04, N = 3SE +/- 7.02, N = 3SE +/- 16.18, N = 371071294488610111. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Application Start-up Time

This benchmark measures the start-up time of applications when there is some I/O in the background. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgsec, Fewer Is BetterApplication Start-up Time 2.4.0Background I/O Mix: Sequential Reads + Writes - Application To Start: LibreOffice Writer - Disk Target: Default Test DirectoryBFQBFQ low_latencyKyberMQ DeadlineNone0.7921.5842.3763.1683.96SE +/- 0.09, N = 9SE +/- 0.02, N = 9SE +/- 0.14, N = 9SE +/- 0.06, N = 9SE +/- 0.04, N = 33.170.343.523.402.49

OpenBenchmarking.orgsec, Fewer Is BetterApplication Start-up Time 2.4.0Background I/O Mix: Sequential Reads + Writes - Application To Start: GNOME Terminal - Disk Target: Default Test DirectoryBFQBFQ low_latencyKyberMQ DeadlineNone1.03282.06563.09844.13125.164SE +/- 0.16, N = 9SE +/- 0.12, N = 9SE +/- 0.21, N = 9SE +/- 0.08, N = 3SE +/- 0.03, N = 34.450.554.594.443.22

OpenBenchmarking.orgsec, Fewer Is BetterApplication Start-up Time 2.4.0Background I/O Mix: Only Sequential Reads - Application To Start: LibreOffice Writer - Disk Target: Default Test DirectoryBFQBFQ low_latencyKyberMQ DeadlineNone0.40280.80561.20841.61122.014SE +/- 0.03, N = 5SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 31.780.251.791.731.77

OpenBenchmarking.orgsec, Fewer Is BetterApplication Start-up Time 2.4.0Background I/O Mix: Only Sequential Reads - Application To Start: GNOME Terminal - Disk Target: Default Test DirectoryBFQBFQ low_latencyKyberMQ DeadlineNone0.5041.0081.5122.0162.52SE +/- 0.02, N = 3SE +/- 0.00, N = 3SE +/- 0.03, N = 3SE +/- 0.04, N = 3SE +/- 0.03, N = 92.240.302.112.172.13

OpenBenchmarking.orgsec, Fewer Is BetterApplication Start-up Time 2.4.0Background I/O Mix: Sequential Reads + Writes - Application To Start: xterm - Disk Target: Default Test DirectoryBFQBFQ low_latencyKyberMQ DeadlineNone0.2520.5040.7561.0081.26SE +/- 0.06, N = 6SE +/- 0.01, N = 9SE +/- 0.02, N = 3SE +/- 0.07, N = 9SE +/- 0.01, N = 51.120.181.061.120.75

Flexible IO Tester

Fio is an advanced disk benchmark that depends upon the kernel's AIO access library. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test DirectoryBFQBFQ low_latencyKyberMQ DeadlineNone2004006008001000SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 1.00, N = 3103310331029103410301. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryBFQBFQ low_latencyKyberMQ DeadlineNone2004006008001000SE +/- 2.40, N = 3SE +/- 12.46, N = 12SE +/- 10.12, N = 3SE +/- 9.54, N = 3SE +/- 1.53, N = 37807619539629561. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test DirectoryBFQBFQ low_latencyKyberMQ DeadlineNone5001000150020002500SE +/- 0.88, N = 3SE +/- 1.00, N = 3SE +/- 4.06, N = 3SE +/- 0.67, N = 3239424012394240024021. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryBFQBFQ low_latencyKyberMQ DeadlineNone2004006008001000SE +/- 4.81, N = 3SE +/- 10.12, N = 12SE +/- 14.53, N = 3SE +/- 0.88, N = 3SE +/- 11.02, N = 372171294993910221. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

FS-Mark

FS_Mark is designed to test a system's file-system performance. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeBFQBFQ low_latencyKyberMQ DeadlineNone50100150200250SE +/- 0.96, N = 3SE +/- 1.22, N = 3SE +/- 2.10, N = 3SE +/- 3.62, N = 3SE +/- 0.81, N = 32292322272242341. (CC) gcc options: -static

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsBFQBFQ low_latencyKyberMQ DeadlineNone50100150200250SE +/- 7.23, N = 12SE +/- 4.91, N = 12SE +/- 19.67, N = 9SE +/- 14.88, N = 6SE +/- 13.88, N = 112442161521492031. (CC) gcc options: -static

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeBFQBFQ low_latencyKyberMQ DeadlineNone306090120150SE +/- 7.44, N = 12SE +/- 7.06, N = 12SE +/- 2.72, N = 12SE +/- 5.20, N = 12SE +/- 6.11, N = 12124.66125.0884.2891.9196.031. (CC) gcc options: -static

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB Size, No Sync/FSyncBFQBFQ low_latencyKyberMQ DeadlineNone5001000150020002500SE +/- 4.67, N = 3SE +/- 9.10, N = 3SE +/- 7.14, N = 3SE +/- 6.99, N = 3SE +/- 5.99, N = 3228923052315231923201. (CC) gcc options: -static

BlogBench

BlogBench is designed to replicate the load of a real-world busy file server by stressing the file-system with multiple threads of random reads, writes, and rewrites. The behavior is mimicked of that of a blog by creating blogs with content and pictures, modifying blog posts, adding comments to these blogs, and then reading the content of the blogs. All of these blogs generated are created locally with fake content and pictures. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgFinal Score, More Is BetterBlogBench 1.0Test: ReadBFQBFQ low_latencyKyberMQ DeadlineNone200K400K600K800K1000KSE +/- 8443.11, N = 9SE +/- 13128.49, N = 9SE +/- 56002.71, N = 9SE +/- 55608.68, N = 9SE +/- 16687.41, N = 94759344883539292939290217266381. (CC) gcc options: -O2 -pthread

OpenBenchmarking.orgFinal Score, More Is BetterBlogBench 1.0Test: WriteBFQBFQ low_latencyKyberMQ DeadlineNone4K8K12K16K20KSE +/- 188.75, N = 3SE +/- 406.72, N = 3SE +/- 871.74, N = 3SE +/- 940.27, N = 3SE +/- 403.05, N = 318239191351385612993143181. (CC) gcc options: -O2 -pthread

SQLite

This is a simple benchmark of SQLite. At present this test profile just measures the time to perform a pre-defined number of insertions on an indexed database. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterSQLite 3.22Timed SQLite InsertionsBFQBFQ low_latencyKyberMQ DeadlineNone918273645SE +/- 0.03, N = 3SE +/- 0.06, N = 3SE +/- 0.24, N = 3SE +/- 0.22, N = 3SE +/- 0.07, N = 337.3136.2137.9637.9535.951. (CC) gcc options: -O2 -lz -ldl -lpthread

PostgreSQL pgbench

This is a simple benchmark of PostgreSQL using pgbench. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 10.3Scaling: Buffer Test - Test: Normal Load - Mode: Read WriteBFQBFQ low_latencyKyberMQ DeadlineNone12002400360048006000SE +/- 72.89, N = 5SE +/- 93.38, N = 3SE +/- 94.23, N = 12SE +/- 27.41, N = 3SE +/- 66.90, N = 12515154774609438142851. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

Application Start-up Time

This benchmark measures the start-up time of applications when there is some I/O in the background. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgsec, Fewer Is BetterApplication Start-up Time 2.4.0Background I/O Mix: Only Sequential Reads - Application To Start: xterm - Disk Target: Default Test DirectoryBFQBFQ low_latencyKyberMQ DeadlineNone0.12380.24760.37140.49520.619SE +/- 0.01, N = 3SE +/- 0.00, N = 9SE +/- 0.01, N = 3SE +/- 0.01, N = 9SE +/- 0.00, N = 30.550.170.540.540.54

Flexible IO Tester

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.1Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryBFQBFQ low_latencyKyberMQ DeadlineNone40K80K120K160K200KSE +/- 333.33, N = 3SE +/- 881.92, N = 3SE +/- 1527.53, N = 3SE +/- 333.33, N = 3SE +/- 333.33, N = 31926671836671930001956671703331. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.1Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryBFQBFQ low_latencyKyberMQ DeadlineNone60K120K180K240K300KSE +/- 1201.85, N = 3SE +/- 1201.85, N = 3SE +/- 1000.00, N = 3SE +/- 1666.67, N = 3SE +/- 4163.33, N = 31816671823332420002266672590001. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.1Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryBFQBFQ low_latencyKyberMQ DeadlineNone50K100K150K200K250KSE +/- 666.67, N = 3SE +/- 3254.66, N = 12SE +/- 2603.42, N = 3SE +/- 2516.61, N = 3SE +/- 333.33, N = 31993331947502436672460002446671. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.1Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryBFQBFQ low_latencyKyberMQ DeadlineNone60K120K180K240K300KSE +/- 1201.85, N = 3SE +/- 2571.58, N = 12SE +/- 3785.94, N = 3SE +/- 333.33, N = 3SE +/- 2728.45, N = 31846671824172430002403332616671. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl