FSGSBASE Benchmarks 2020

Tests for a future article.

Compare your own system(s) to this result file with the Phoronix Test Suite by running the command: phoronix-test-suite benchmark 2005128-SYST-FSGSBAS16
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

Limit displaying results to tests within:

C/C++ Compiler Tests 2 Tests
CPU Massive 6 Tests
Database Test Suite 5 Tests
Java 2 Tests
Common Kernel Benchmarks 5 Tests
Multi-Core 2 Tests
Server 5 Tests
Server CPU Tests 4 Tests

Statistics

Show Overall Harmonic Mean(s)
Show Overall Geometric Mean
Show Geometric Means Per-Suite/Category
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
Hide
Result
Result
Identifier
Performance Per
Dollar
Date
Run
  Test
  Duration
FSGSBASE Patched
May 10 2020
  4 Hours, 29 Minutes
No FSGSBASE
May 11 2020
  2 Hours, 38 Minutes
Invert Hiding All Results Option
  3 Hours, 33 Minutes
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):


FSGSBASE Benchmarks 2020OpenBenchmarking.orgPhoronix Test SuiteIntel 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.0ext43840x2160ProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionFSGSBASE Benchmarks 2020 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++,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 - NONE / errors=remount-ro,relatime,rw- Scaling Governor: intel_pstate powersave - CPU Microcode: 0x500012c- OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)- + Python 3.8.2- 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 Patched vs. No FSGSBASE ComparisonPhoronix Test SuiteBaseline+10.4%+10.4%+20.8%+20.8%+31.2%+31.2%+41.6%+41.6%Seq Read - IO_uring - Yes - No - 2MB41.7%Seq Read - IO_uring - Yes - No - 2MB41.6%LPOP41.4%Seq Read - IO_uring - Yes - No - 4KB18.4%Seq Read - IO_uring - Yes - No - 4KB18.4%Async Rand Write - 329.2%Context Switching8.9%GET5.7%IMB-MPI1 PingPong3%SADD2.9%Buffer Test - Heavy Contention - Read Write2.7%Increment - 322.6%Rand Fill Sync2.6%Seq Read - 322.6%Socket Activity2.5%Seq Read - 322.4%Increment - 322.4%LPUSH2.3%Seq Write - IO_uring - Yes - No - 2MB2.2%Seq Write - IO_uring - Yes - No - 2MB2.2%Flexible IO TesterFlexible IO TesterRedisFlexible IO TesterFlexible IO TesterApache HBaseStress-NGRedisIntel MPI BenchmarksRedisPostgreSQL pgbenchApache HBaseFacebook RocksDBApache HBaseStress-NGApache HBaseApache HBaseRedisFlexible IO TesterFlexible IO TesterFSGSBASE PatchedNo FSGSBASE

Java Gradle Build

This test runs Java software project builds using the Gradle build system. It is intended to give developers an idea as to the build performance for development activities and build servers. Learn more via the OpenBenchmarking.org test page.

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

ctx_clock

Ctx_clock is a simple test program to measure the context switch time in clock cycles. Learn more via the OpenBenchmarking.org test page.

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

Stress-NG

Stress-NG is a Linux stress tool developed by Colin King of Canonical. Learn more via the OpenBenchmarking.org test page.

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

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

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

DaCapo Benchmark

This test runs the DaCapo Benchmarks written in Java and intended to test system/CPU performance. Learn more via the OpenBenchmarking.org test page.

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

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.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

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

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

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

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

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

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

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

Intel MPI Benchmarks for stressing MPI implementations. At this point the test profile aggregates results for some common MPI functionality. Learn more via the OpenBenchmarking.org test page.

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

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

Apache HBase

This is a benchmark of the Apache HBase non-relational distributed database system inspired from Google's Bigtable. Learn more via the OpenBenchmarking.org test page.

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

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

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

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

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

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

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

Redis

Redis is an open-source data structure server. Learn more via the OpenBenchmarking.org test page.

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

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

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

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

Facebook RocksDB

This is a benchmark of Facebook's RocksDB as an embeddable persistent key-value store for fast storage based on Google's LevelDB. Learn more via the OpenBenchmarking.org test page.

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

LevelDB

LevelDB is a key-value storage library developed by Google that supports making use of Snappy for data compression and has other modern features. Learn more via the OpenBenchmarking.org test page.

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

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

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

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

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

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

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

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

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

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

37 Results Shown

Java Gradle Build
ctx_clock
Stress-NG:
  Atomic
  Socket Activity
  Context Switching
DaCapo Benchmark
Flexible IO Tester:
  Seq Read - IO_uring - Yes - No - 2MB - Default Test Directory:
    MB/s
    IOPS
  Seq Read - IO_uring - Yes - No - 4KB - Default Test Directory:
    MB/s
    IOPS
  Seq Write - IO_uring - Yes - No - 2MB - Default Test Directory:
    MB/s
    IOPS
  Seq Write - IO_uring - Yes - No - 4KB - Default Test Directory:
    MB/s
    IOPS
Intel MPI Benchmarks:
  IMB-MPI1 Exchange
  IMB-MPI1 PingPong
Apache HBase:
  Increment - 32:
    Rows Per Second
    Microseconds - Average Latency
  Rand Read - 32:
    Rows Per Second
    Microseconds - Average Latency
  Seq Read - 32:
    Rows Per Second
    Microseconds - Average Latency
  Async Rand Write - 32:
    Rows Per Second
Redis:
  LPOP
  SADD
  LPUSH
  GET
Facebook RocksDB
LevelDB:
  Hot Read
  Fill Sync
  Overwrite
  Rand Read
  Rand Delete
  Seq Fill
PostgreSQL pgbench:
  Buffer Test - Normal Load - Read Only
  Buffer Test - Normal Load - Read Write
  Buffer Test - Heavy Contention - Read Write