single hdd scheduler comparison

Intel Xeon E3-1220 v3 testing with a Supermicro X10SLL-F v1.02 (3.2 BIOS) and ASPEED Family on Debian 9.7 via the Phoronix Test Suite.

HTML result view exported from: https://openbenchmarking.org/result/1902028-PAUL-SINGLEH35.

single hdd scheduler comparisonProcessorMotherboardChipsetMemoryDiskGraphicsNetworkOSKernelCompilerFile-SystemScreen ResolutionNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQIntel Xeon E3-1220 v3 @ 3.50GHz (4 Cores)Supermicro X10SLL-F v1.02 (3.2 BIOS)Intel Xeon E3-1200 v3 DRAM16384MB2 x 32GB SATA SSD + 4 x 1000GB Seagate ST1000NM0045ASPEED FamilyIntel Connection I217-LMDebian 9.74.9.0-8-amd64 (x86_64)GCC 6.3.0 20170516ext41024x7684.19.0-0.bpo.1-amd64 (x86_64)OpenBenchmarking.orgCompiler Details- --build=x86_64-linux-gnu --disable-browser-plugin --disable-vtable-verify --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-gtk-cairo --enable-java-awt=gtk --enable-java-home --enable-languages=c,ada,c++,java,go,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-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-arch-directory=amd64 --with-default-libstdcxx-abi=new --with-multilib-list=m32,m64,mx32 --with-target-system-zlib --with-tune=generic -v Disk Details- NOOP: NOOP / data=ordered,relatime,rw- Deadline: DEADLINE / data=ordered,relatime,rw- CFQ: CFQ / data=ordered,relatime,rw- NONE: NONE / relatime,rw- MQ-DEADLINE: MQ-DEADLINE / relatime,rw- KYBER: KYBER / relatime,rw- BFQ Low Latency: BFQ / relatime,rw- BFQ: BFQ / relatime,rwProcessor Details- Scaling Governor: intel_pstate powersavePython Details- Python 2.7.13 + Python 3.5.3Security Details- NOOP: KPTI + __user pointer sanitization + Full generic retpoline IBPB IBRS_FW + SSB disabled via prctl and seccomp + PTE Inversion; VMX: conditional cache flushes SMT disabled - Deadline: KPTI + __user pointer sanitization + Full generic retpoline IBPB IBRS_FW + SSB disabled via prctl and seccomp + PTE Inversion; VMX: conditional cache flushes SMT disabled - CFQ: KPTI + __user pointer sanitization + Full generic retpoline IBPB IBRS_FW + SSB disabled via prctl and seccomp + PTE Inversion; VMX: conditional cache flushes SMT disabled - NONE: KPTI + __user pointer sanitization + Full generic retpoline IBPB: conditional IBRS_FW STIBP: disabled RSB filling + SSB disabled via prctl and seccomp + PTE Inversion; VMX: conditional cache flushes SMT disabled - MQ-DEADLINE: KPTI + __user pointer sanitization + Full generic retpoline IBPB: conditional IBRS_FW STIBP: disabled RSB filling + SSB disabled via prctl and seccomp + PTE Inversion; VMX: conditional cache flushes SMT disabled - KYBER: KPTI + __user pointer sanitization + Full generic retpoline IBPB: conditional IBRS_FW STIBP: disabled RSB filling + SSB disabled via prctl and seccomp + PTE Inversion; VMX: conditional cache flushes SMT disabled - BFQ Low Latency: KPTI + __user pointer sanitization + Full generic retpoline IBPB: conditional IBRS_FW STIBP: disabled RSB filling + SSB disabled via prctl and seccomp + PTE Inversion; VMX: conditional cache flushes SMT disabled - BFQ: KPTI + __user pointer sanitization + Full generic retpoline IBPB: conditional IBRS_FW STIBP: disabled RSB filling + SSB disabled via prctl and seccomp + PTE Inversion; VMX: conditional cache flushes SMT disabled

single hdd scheduler comparisonsqlite: Timed SQLite Insertionsfio: Rand Read - Linux AIO - No - Yes - 4KB - Default Test Directoryfio: Rand Write - Linux AIO - No - Yes - 4KB - Default Test Directoryfio: Seq Read - Linux AIO - No - Yes - 4KB - 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 Sizeblogbench: Readblogbench: Writetiobench: Read - 32MB - 4tiobench: Write - 32MB - 4tiobench: Rand Read - 32MB - 4tiobench: Rand Write - 32MB - 4compilebench: Compilecompilebench: Initial Createcompilebench: Read Compiled Treeunpack-linux: linux-4.15.tar.xzpostmark: Disk Transaction PerformanceNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ3953.172.8120915723.5353.0725.831494774230322650.2126042.2167834523336.3955553923.162.7620915623.4747.6024.171500935233722320.1933241.5968339324146.3354764013.172.7921015623.4348.8024.631496622248222300.1928441.8869639823656.3955154113.152.7921015623.2349.1024.201517893298122160.1928311.8069137824806.1655553813.182.8021015623.3747.8724.031506634294322030.1926401.7470039424806.1756394273.182.7920915623.2347.8724.001523809365021590.1925061.7669940024736.1955554043.172.7421015623.3347.2024.001516666292323490.1831671.9269637725186.1955553993.182.7720615623.3746.93241450386218921290.2027702.3569638624216.195515OpenBenchmarking.org

SQLite

Timed SQLite Insertions

OpenBenchmarking.orgSeconds, Fewer Is BetterSQLite 3.22Timed SQLite InsertionsNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ90180270360450SE +/- 5.03, N = 9SE +/- 5.84, N = 9SE +/- 6.21, N = 9SE +/- 11.15, N = 9SE +/- 6.41, N = 3SE +/- 13.73, N = 6SE +/- 5.10, N = 9SE +/- 5.65, N = 33953924014113814274043991. (CC) gcc options: -O2 -ldl -lpthread

Flexible IO Tester

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

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 DirectoryNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ0.71551.4312.14652.8623.5775SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 33.173.163.173.153.183.183.173.181. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

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

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 DirectoryNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ0.63231.26461.89692.52923.1615SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.03, N = 3SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.03, N = 32.812.762.792.792.802.792.742.771. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

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

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 DirectoryNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ50100150200250SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 3.84, N = 32092092102102102092102061. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

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

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 DirectoryNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ12K24K36K48K60KSE +/- 88.19, N = 3SE +/- 33.33, N = 3SE +/- 33.33, N = 3SE +/- 100.00, N = 3SE +/- 88.19, N = 3SE +/- 57.74, N = 3SE +/- 57.74, N = 3SE +/- 1001.67, N = 353633536335356753600536335360053800526001. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

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

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 DirectoryNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ306090120150SE +/- 0.33, N = 31571561561561561561561561. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

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

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 DirectoryNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ9K18K27K36K45KSE +/- 305.51, N = 3SE +/- 338.30, N = 3SE +/- 33.33, N = 3SE +/- 351.19, N = 3SE +/- 88.19, N = 3SE +/- 33.33, N = 340100396003900039667400673970040033399331. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

FS-Mark

Test: 1000 Files, 1MB Size

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ612182430SE +/- 0.03, N = 3SE +/- 0.07, N = 3SE +/- 0.03, N = 3SE +/- 0.03, N = 3SE +/- 0.03, N = 3SE +/- 0.09, N = 3SE +/- 0.03, N = 3SE +/- 0.03, N = 323.5323.4723.4323.2323.3723.2323.3323.371. (CC) gcc options: -static

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ1224364860SE +/- 1.28, N = 9SE +/- 0.23, N = 3SE +/- 0.70, N = 5SE +/- 0.84, N = 4SE +/- 0.35, N = 3SE +/- 0.71, N = 3SE +/- 0.23, N = 3SE +/- 0.48, N = 353.0747.6048.8049.1047.8747.8747.2046.931. (CC) gcc options: -static

FS-Mark

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

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ612182430SE +/- 0.07, N = 3SE +/- 0.09, N = 3SE +/- 0.07, N = 3SE +/- 0.06, N = 3SE +/- 0.03, N = 3SE +/- 0.10, N = 3SE +/- 0.06, N = 325.8324.1724.6324.2024.0324.0024.0024.001. (CC) gcc options: -static

BlogBench

Test: Read

OpenBenchmarking.orgFinal Score, More Is BetterBlogBench 1.1Test: ReadNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ300K600K900K1200K1500KSE +/- 13353.07, N = 3SE +/- 6809.62, N = 3SE +/- 9408.22, N = 3SE +/- 719.84, N = 3SE +/- 10586.48, N = 3SE +/- 5728.18, N = 3SE +/- 6427.75, N = 3SE +/- 4272.70, N = 3149477415009351496622151789315066341523809151666614503861. (CC) gcc options: -O2 -pthread

BlogBench

Test: Write

OpenBenchmarking.orgFinal Score, More Is BetterBlogBench 1.1Test: WriteNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ8001600240032004000SE +/- 24.01, N = 3SE +/- 26.44, N = 3SE +/- 8.72, N = 3SE +/- 18.84, N = 3SE +/- 42.25, N = 3SE +/- 29.30, N = 3SE +/- 39.77, N = 3SE +/- 29.45, N = 3230323372482298129433650292321891. (CC) gcc options: -O2 -pthread

Threaded I/O Tester

Test: Read - Size Per Thread: 32MB - Thread Count: 4

OpenBenchmarking.orgMB/s, More Is BetterThreaded I/O Tester 20170503Test: Read - Size Per Thread: 32MB - Thread Count: 4NOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ5001000150020002500SE +/- 144.51, N = 9SE +/- 1.48, N = 3SE +/- 3.88, N = 3SE +/- 4.52, N = 3SE +/- 64.82, N = 9SE +/- 40.89, N = 9SE +/- 62.57, N = 9SE +/- 101.89, N = 9226522322230221622032159234921291. (CC) gcc options: -O2

Threaded I/O Tester

Test: Write - Size Per Thread: 32MB - Thread Count: 4

OpenBenchmarking.orgMB/s, More Is BetterThreaded I/O Tester 20170503Test: Write - Size Per Thread: 32MB - Thread Count: 4NOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ0.04730.09460.14190.18920.2365SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 9SE +/- 0.00, N = 9SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 4SE +/- 0.01, N = 90.210.190.190.190.190.190.180.201. (CC) gcc options: -O2

Threaded I/O Tester

Test: Random Read - Size Per Thread: 32MB - Thread Count: 4

OpenBenchmarking.orgMB/s, More Is BetterThreaded I/O Tester 20170503Test: Random Read - Size Per Thread: 32MB - Thread Count: 4NOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ7001400210028003500SE +/- 5.48, N = 3SE +/- 409.01, N = 6SE +/- 93.52, N = 9SE +/- 93.09, N = 9SE +/- 165.22, N = 6SE +/- 162.99, N = 6SE +/- 718.55, N = 8SE +/- 86.63, N = 9260433242844283126402506316727701. (CC) gcc options: -O2

Threaded I/O Tester

Test: Random Write - Size Per Thread: 32MB - Thread Count: 4

OpenBenchmarking.orgMB/s, More Is BetterThreaded I/O Tester 20170503Test: Random Write - Size Per Thread: 32MB - Thread Count: 4NOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ0.52881.05761.58642.11522.644SE +/- 0.20, N = 7SE +/- 0.01, N = 3SE +/- 0.10, N = 9SE +/- 0.04, N = 9SE +/- 0.02, N = 3SE +/- 0.02, N = 3SE +/- 0.10, N = 9SE +/- 0.17, N = 62.211.591.881.801.741.761.922.351. (CC) gcc options: -O2

Compile Bench

Test: Compile

OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: CompileNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ150300450600750SE +/- 7.52, N = 12SE +/- 7.09, N = 12SE +/- 5.96, N = 3SE +/- 11.04, N = 3SE +/- 7.06, N = 3SE +/- 4.35, N = 3SE +/- 8.74, N = 3SE +/- 4.05, N = 3678683696691700699696696

Compile Bench

Test: Initial Create

OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ90180270360450SE +/- 39.22, N = 3SE +/- 9.68, N = 3SE +/- 7.87, N = 3SE +/- 15.30, N = 3SE +/- 6.92, N = 3SE +/- 16.52, N = 3SE +/- 18.31, N = 3SE +/- 11.13, N = 3345393398378394400377386

Compile Bench

Test: Read Compiled Tree

OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Read Compiled TreeNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ5001000150020002500SE +/- 38.06, N = 3SE +/- 73.17, N = 3SE +/- 51.54, N = 3SE +/- 19.11, N = 3SE +/- 20.53, N = 3SE +/- 26.56, N = 3SE +/- 15.53, N = 3SE +/- 21.24, N = 323332414236524802480247325182421

Unpacking The Linux Kernel

linux-4.15.tar.xz

OpenBenchmarking.orgSeconds, Fewer Is BetterUnpacking The Linux Kernellinux-4.15.tar.xzNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ246810SE +/- 0.03, N = 4SE +/- 0.01, N = 4SE +/- 0.04, N = 4SE +/- 0.03, N = 4SE +/- 0.02, N = 4SE +/- 0.03, N = 4SE +/- 0.04, N = 4SE +/- 0.03, N = 46.396.336.396.166.176.196.196.19

PostMark

Disk Transaction Performance

OpenBenchmarking.orgTPS, More Is BetterPostMark 1.51Disk Transaction PerformanceNOOPDeadlineCFQNONEMQ-DEADLINEKYBERBFQ Low LatencyBFQ12002400360048006000SE +/- 78.67, N = 3SE +/- 40.33, N = 3SE +/- 42.00, N = 3SE +/- 40.33, N = 3555554765515555556395555555555151. (CC) gcc options: -O3


Phoronix Test Suite v10.8.4