FSGSBASE Benchmarks 2020

Tests for a future article.

HTML result view exported from: https://openbenchmarking.org/result/2005128-SYST-FSGSBAS16&grt&sor.

FSGSBASE Benchmarks 2020ProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionFSGSBASE PatchedNo FSGSBASEIntel Core i9-10980XE @ 4.80GHz (18 Cores / 36 Threads)ASRock X299 Steel Legend (P1.30 BIOS)Intel Sky Lake-E DMI3 Registers32GBSamsung SSD 970 PRO 512GBNVIDIA NV132 11GBRealtek ALC1220ASUS MG28UIntel I219-V + Intel I211Ubuntu 20.045.7.0-rc4-fsgsbase (x86_64) 20200510GNOME Shell 3.36.1X Server 1.20.8modesetting 1.20.84.3 Mesa 20.0.4GCC 9.3.0ext43840x2160OpenBenchmarking.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++,gm2 --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none,hsa --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=auto --with-tune=generic --without-cuda-driver -v Disk Details- NONE / errors=remount-ro,relatime,rwProcessor Details- Scaling Governor: intel_pstate powersave - CPU Microcode: 0x500012cJava Details- OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)Python Details- + Python 3.8.2Security Details- itlb_multihit: KVM: Mitigation of Split huge pages + l1tf: Not affected + mds: Not affected + meltdown: Not affected + spec_store_bypass: Mitigation of SSB disabled via prctl and seccomp + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization + spectre_v2: Mitigation of Enhanced IBRS IBPB: conditional RSB filling + tsx_async_abort: Mitigation of TSX disabled

FSGSBASE Benchmarks 2020hbase: Increment - 32hbase: Increment - 32hbase: Rand Read - 32hbase: Rand Read - 32hbase: Seq Read - 32hbase: Seq Read - 32hbase: Async Rand Write - 32ctx-clock: Context Switch Timedacapobench: Tradebeansrocksdb: Rand Fill Syncfio: Seq Read - IO_uring - Yes - No - 2MB - Default Test Directoryfio: Seq Read - IO_uring - Yes - No - 2MB - Default Test Directoryfio: Seq Read - IO_uring - Yes - No - 4KB - Default Test Directoryfio: Seq Read - IO_uring - Yes - No - 4KB - Default Test Directoryfio: Seq Write - IO_uring - Yes - No - 2MB - Default Test Directoryfio: Seq Write - IO_uring - Yes - No - 2MB - Default Test Directoryfio: Seq Write - IO_uring - Yes - No - 4KB - Default Test Directoryfio: Seq Write - IO_uring - Yes - No - 4KB - Default Test Directoryintel-mpi: IMB-MPI1 Exchangeintel-mpi: IMB-MPI1 PingPongjava-gradle-perf: Reactorleveldb: Hot Readleveldb: Fill Syncleveldb: Overwriteleveldb: Rand Readleveldb: Rand Deleteleveldb: Seq Fillpgbench: Buffer Test - Normal Load - Read Onlypgbench: Buffer Test - Normal Load - Read Writepgbench: Buffer Test - Heavy Contention - Read Writeredis: LPOPredis: SADDredis: LPUSHredis: GETstress-ng: Atomicstress-ng: Socket Activitystress-ng: Context SwitchingFSGSBASE PatchedNo FSGSBASE909383481807811731351032354170812189804800281014012115541667152475811612976674740.273898.16243.85827.5197451.277382.37627.597375.334383.358459323.89862010214.57862411127.2559952855388.452416689.581886156.662824129.95162937.4510983.485040915.4388836357179254175131892241381991229119468019859891787457333149174211512946674701.893782.92248.29927.8067479.781383.71328.129377.216385.457457041.99539710193.30965410834.6765962019972.752347495.501842891.792671484.22161346.2410719.324630906.12OpenBenchmarking.org

Apache HBase

Test: Increment - Clients: 32

OpenBenchmarking.orgRows Per Second, More Is BetterApache HBase 2.2.3Test: Increment - Clients: 32FSGSBASE PatchedNo FSGSBASE20K40K60K80K100KSE +/- 306.20, N = 3SE +/- 560.37, N = 39093888836

Apache HBase

Test: Increment - Clients: 32

OpenBenchmarking.orgMicroseconds - Average Latency, Fewer Is BetterApache HBase 2.2.3Test: Increment - Clients: 32FSGSBASE PatchedNo FSGSBASE80160240320400SE +/- 1.67, N = 3SE +/- 2.65, N = 3348357

Apache HBase

Test: Random Read - Clients: 32

OpenBenchmarking.orgRows Per Second, More Is BetterApache HBase 2.2.3Test: Random Read - Clients: 32FSGSBASE PatchedNo FSGSBASE40K80K120K160K200KSE +/- 1029.85, N = 3SE +/- 1732.82, N = 3180781179254

Apache HBase

Test: Random Read - Clients: 32

OpenBenchmarking.orgMicroseconds - Average Latency, Fewer Is BetterApache HBase 2.2.3Test: Random Read - Clients: 32FSGSBASE PatchedNo FSGSBASE4080120160200SE +/- 0.67, N = 3SE +/- 1.76, N = 3173175

Apache HBase

Test: Sequential Read - Clients: 32

OpenBenchmarking.orgRows Per Second, More Is BetterApache HBase 2.2.3Test: Sequential Read - Clients: 32FSGSBASE PatchedNo FSGSBASE30K60K90K120K150KSE +/- 1563.62, N = 3SE +/- 2099.51, N = 3135103131892

Apache HBase

Test: Sequential Read - Clients: 32

OpenBenchmarking.orgMicroseconds - Average Latency, Fewer Is BetterApache HBase 2.2.3Test: Sequential Read - Clients: 32FSGSBASE PatchedNo FSGSBASE50100150200250SE +/- 2.60, N = 3SE +/- 4.10, N = 3235241

Apache HBase

Test: Async Random Write - Clients: 32

OpenBenchmarking.orgRows Per Second, More Is BetterApache HBase 2.2.3Test: Async Random Write - Clients: 32FSGSBASE PatchedNo FSGSBASE9K18K27K36K45KSE +/- 1782.13, N = 3SE +/- 973.32, N = 124170838199

ctx_clock

Context Switch Time

OpenBenchmarking.orgClocks, Fewer Is Betterctx_clockContext Switch TimeFSGSBASE PatchedNo FSGSBASE306090120150SE +/- 0.67, N = 3121122

DaCapo Benchmark

Java Test: Tradebeans

OpenBenchmarking.orgmsec, Fewer Is BetterDaCapo Benchmark 9.12-MR1Java Test: TradebeansFSGSBASE PatchedNo FSGSBASE2K4K6K8K10KSE +/- 60.84, N = 4SE +/- 47.92, N = 489809119

Facebook RocksDB

Test: Random Fill Sync

OpenBenchmarking.orgOp/s, More Is BetterFacebook RocksDB 6.3.6Test: Random Fill SyncFSGSBASE PatchedNo FSGSBASE10002000300040005000SE +/- 7.75, N = 3SE +/- 41.44, N = 11480046801. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread

Flexible IO Tester

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

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.18Type: Sequential Read - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test DirectoryFSGSBASE PatchedNo FSGSBASE6001200180024003000SE +/- 2.96, N = 3SE +/- 1.53, N = 3281019851. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -fcommon -U_FORTIFY_SOURCE -march=native -ll -lnuma -libverbs -lrt -laio -lz -lpthread -lm -ldl

Flexible IO Tester

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

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.18Type: Sequential Read - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test DirectoryFSGSBASE PatchedNo FSGSBASE30060090012001500SE +/- 0.67, N = 314019891. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -fcommon -U_FORTIFY_SOURCE -march=native -ll -lnuma -libverbs -lrt -laio -lz -lpthread -lm -ldl

Flexible IO Tester

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

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.18Type: Sequential Read - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test DirectoryFSGSBASE PatchedNo FSGSBASE5001000150020002500SE +/- 11.22, N = 3SE +/- 3.93, N = 3211517871. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -fcommon -U_FORTIFY_SOURCE -march=native -ll -lnuma -libverbs -lrt -laio -lz -lpthread -lm -ldl

Flexible IO Tester

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

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.18Type: Sequential Read - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test DirectoryFSGSBASE PatchedNo FSGSBASE120K240K360K480K600KSE +/- 2962.73, N = 3SE +/- 881.92, N = 35416674573331. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -fcommon -U_FORTIFY_SOURCE -march=native -ll -lnuma -libverbs -lrt -laio -lz -lpthread -lm -ldl

Flexible IO Tester

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

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.18Type: Sequential Write - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test DirectoryFSGSBASE PatchedNo FSGSBASE30060090012001500SE +/- 6.96, N = 3SE +/- 14.85, N = 9152414911. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -fcommon -U_FORTIFY_SOURCE -march=native -ll -lnuma -libverbs -lrt -laio -lz -lpthread -lm -ldl

Flexible IO Tester

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

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.18Type: Sequential Write - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test DirectoryFSGSBASE PatchedNo FSGSBASE160320480640800SE +/- 3.48, N = 3SE +/- 7.42, N = 97587421. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -fcommon -U_FORTIFY_SOURCE -march=native -ll -lnuma -libverbs -lrt -laio -lz -lpthread -lm -ldl

Flexible IO Tester

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

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.18Type: Sequential Write - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test DirectoryFSGSBASE PatchedNo FSGSBASE2004006008001000SE +/- 4.67, N = 3SE +/- 2.03, N = 3116111511. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -fcommon -U_FORTIFY_SOURCE -march=native -ll -lnuma -libverbs -lrt -laio -lz -lpthread -lm -ldl

Flexible IO Tester

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

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.18Type: Sequential Write - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test DirectoryFSGSBASE PatchedNo FSGSBASE60K120K180K240K300KSE +/- 1333.33, N = 3SE +/- 333.33, N = 32976672946671. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -fcommon -U_FORTIFY_SOURCE -march=native -ll -lnuma -libverbs -lrt -laio -lz -lpthread -lm -ldl

Intel MPI Benchmarks

Test: IMB-MPI1 Exchange

OpenBenchmarking.orgAverage Mbytes/sec, More Is BetterIntel MPI Benchmarks 2019.3Test: IMB-MPI1 ExchangeFSGSBASE PatchedNo FSGSBASE10002000300040005000SE +/- 43.96, N = 3SE +/- 43.00, N = 34740.274701.89MAX: 23870.04MAX: 23362.311. (CXX) g++ options: -O0 -pedantic -fopenmp -pthread -lmpi_cxx -lmpi

Intel MPI Benchmarks

Test: IMB-MPI1 PingPong

OpenBenchmarking.orgAverage Mbytes/sec, More Is BetterIntel MPI Benchmarks 2019.3Test: IMB-MPI1 PingPongFSGSBASE PatchedNo FSGSBASE8001600240032004000SE +/- 33.26, N = 3SE +/- 51.56, N = 33898.163782.92MIN: 7.24 / MAX: 14832.21MIN: 7.5 / MAX: 13226.491. (CXX) g++ options: -O0 -pedantic -fopenmp -pthread -lmpi_cxx -lmpi

Java Gradle Build

Gradle Build: Reactor

OpenBenchmarking.orgSeconds, Fewer Is BetterJava Gradle BuildGradle Build: ReactorFSGSBASE PatchedNo FSGSBASE50100150200250SE +/- 2.63, N = 9SE +/- 3.31, N = 5243.86248.30

LevelDB

Benchmark: Hot Read

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Hot ReadFSGSBASE PatchedNo FSGSBASE714212835SE +/- 0.09, N = 3SE +/- 0.07, N = 327.5227.811. (CXX) g++ options: -O3 -lsnappy -lpthread

LevelDB

Benchmark: Fill Sync

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Fill SyncFSGSBASE PatchedNo FSGSBASE16003200480064008000SE +/- 9.08, N = 3SE +/- 21.21, N = 37451.287479.781. (CXX) g++ options: -O3 -lsnappy -lpthread

LevelDB

Benchmark: Overwrite

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: OverwriteFSGSBASE PatchedNo FSGSBASE80160240320400SE +/- 0.30, N = 3SE +/- 2.64, N = 3382.38383.711. (CXX) g++ options: -O3 -lsnappy -lpthread

LevelDB

Benchmark: Random Read

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Random ReadFSGSBASE PatchedNo FSGSBASE714212835SE +/- 0.09, N = 3SE +/- 0.07, N = 327.6028.131. (CXX) g++ options: -O3 -lsnappy -lpthread

LevelDB

Benchmark: Random Delete

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Random DeleteFSGSBASE PatchedNo FSGSBASE80160240320400SE +/- 0.16, N = 3SE +/- 1.04, N = 3375.33377.221. (CXX) g++ options: -O3 -lsnappy -lpthread

LevelDB

Benchmark: Sequential Fill

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Sequential FillFSGSBASE PatchedNo FSGSBASE80160240320400SE +/- 0.69, N = 3SE +/- 1.13, N = 3383.36385.461. (CXX) g++ options: -O3 -lsnappy -lpthread

PostgreSQL pgbench

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

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 12.0Scaling: Buffer Test - Test: Normal Load - Mode: Read OnlyFSGSBASE PatchedNo FSGSBASE100K200K300K400K500KSE +/- 544.12, N = 3SE +/- 986.91, N = 3459323.90457042.001. (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

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 12.0Scaling: Buffer Test - Test: Normal Load - Mode: Read WriteFSGSBASE PatchedNo FSGSBASE2K4K6K8K10KSE +/- 9.73, N = 3SE +/- 18.22, N = 310214.5810193.311. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

PostgreSQL pgbench

Scaling: Buffer Test - Test: Heavy Contention - Mode: Read Write

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 12.0Scaling: Buffer Test - Test: Heavy Contention - Mode: Read WriteFSGSBASE PatchedNo FSGSBASE2K4K6K8K10KSE +/- 170.08, N = 3SE +/- 16.63, N = 311127.2610834.681. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

Redis

Test: LPOP

OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 5.0.5Test: LPOPFSGSBASE PatchedNo FSGSBASE600K1200K1800K2400K3000KSE +/- 32128.34, N = 15SE +/- 33512.47, N = 32855388.452019972.751. (CXX) g++ options: -MM -MT -g3 -fvisibility=hidden -O3

Redis

Test: SADD

OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 5.0.5Test: SADDFSGSBASE PatchedNo FSGSBASE500K1000K1500K2000K2500KSE +/- 38848.07, N = 3SE +/- 9544.76, N = 32416689.582347495.501. (CXX) g++ options: -MM -MT -g3 -fvisibility=hidden -O3

Redis

Test: LPUSH

OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 5.0.5Test: LPUSHFSGSBASE PatchedNo FSGSBASE400K800K1200K1600K2000KSE +/- 22661.66, N = 3SE +/- 11389.91, N = 31886156.661842891.791. (CXX) g++ options: -MM -MT -g3 -fvisibility=hidden -O3

Redis

Test: GET

OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 5.0.5Test: GETFSGSBASE PatchedNo FSGSBASE600K1200K1800K2400K3000KSE +/- 28244.30, N = 15SE +/- 24930.64, N = 152824129.952671484.221. (CXX) g++ options: -MM -MT -g3 -fvisibility=hidden -O3

Stress-NG

Test: Atomic

OpenBenchmarking.orgBogo Ops/s, More Is BetterStress-NG 0.11.07Test: AtomicFSGSBASE PatchedNo FSGSBASE30K60K90K120K150KSE +/- 1764.26, N = 3SE +/- 835.22, N = 3162937.45161346.241. (CC) gcc options: -O2 -std=gnu99 -lm -lcrypt -lrt -lz -ldl -lpthread -lc

Stress-NG

Test: Socket Activity

OpenBenchmarking.orgBogo Ops/s, More Is BetterStress-NG 0.11.07Test: Socket ActivityFSGSBASE PatchedNo FSGSBASE2K4K6K8K10KSE +/- 8.02, N = 3SE +/- 73.53, N = 310983.4810719.321. (CC) gcc options: -O2 -std=gnu99 -lm -lcrypt -lrt -lz -ldl -lpthread -lc

Stress-NG

Test: Context Switching

OpenBenchmarking.orgBogo Ops/s, More Is BetterStress-NG 0.11.07Test: Context SwitchingFSGSBASE PatchedNo FSGSBASE1.1M2.2M3.3M4.4M5.5MSE +/- 137371.78, N = 12SE +/- 93165.75, N = 155040915.434630906.121. (CC) gcc options: -O2 -std=gnu99 -lm -lcrypt -lrt -lz -ldl -lpthread -lc


Phoronix Test Suite v10.8.5