Intel AMD FSGSBASE Benchmarks 2020

Tests for a future article.

HTML result view exported from: https://openbenchmarking.org/result/2005123-NI-FSGSBASE659&sro.

ProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen Resolutioni9-10980XETR 3970X No FSGSBASE FSGSBASE Patched No FSGSBASE FSGSBASE PatchedIntel 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.0ext43840x2160AMD Ryzen Threadripper 3970X 32-Core @ 3.70GHz (32 Cores / 64 Threads)ASUS ROG ZENITH II EXTREME (0702 BIOS)AMD Starship/Matisse64GB1000GB Force MP600Gigabyte AMD Radeon RX 5500/5500M / Pro 5500M 8GB (1890/875MHz)AMD Navi 10 HDMI AudioAquantia AQC107 NBase-T/IEEE + Intel I211 + Intel Wi-Fi 6 AX2004.6 Mesa 20.0.4 (LLVM 9.0.1)OpenBenchmarking.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- i9-10980XE: No FSGSBASE: Scaling Governor: intel_pstate powersave - CPU Microcode: 0x500012c- i9-10980XE: FSGSBASE Patched: Scaling Governor: intel_pstate powersave - CPU Microcode: 0x500012c- TR 3970X: No FSGSBASE: Scaling Governor: acpi-cpufreq ondemand - CPU Microcode: 0x8301025- TR 3970X: FSGSBASE Patched: Scaling Governor: acpi-cpufreq ondemand - CPU Microcode: 0x8301025Java Details- OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)Python Details- i9-10980XE: No FSGSBASE, i9-10980XE: FSGSBASE Patched: + Python 3.8.2Security Details- i9-10980XE: No FSGSBASE: 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 - i9-10980XE: FSGSBASE Patched: 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 - TR 3970X: No FSGSBASE: itlb_multihit: Not affected + 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 Full AMD retpoline IBPB: conditional STIBP: conditional RSB filling + tsx_async_abort: Not affected - TR 3970X: FSGSBASE Patched: itlb_multihit: Not affected + 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 Full AMD retpoline IBPB: conditional STIBP: conditional RSB filling + tsx_async_abort: Not affected

fio: Seq Read - IO_uring - Yes - No - 2MB - Default Test Directoryfio: Seq Read - IO_uring - Yes - No - 2MB - Default Test Directoryjava-gradle-perf: Reactordacapobench: Tradebeansleveldb: 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: LPUSHredis: GETstress-ng: Socket Activitystress-ng: Context Switchingrocksdb: Rand Fill Synchbase: Increment - 32hbase: Increment - 32hbase: Rand Read - 32hbase: Rand Read - 32hbase: Seq Read - 32hbase: Seq Read - 32i9-10980XETR 3970X No FSGSBASE FSGSBASE Patched No FSGSBASE FSGSBASE Patched1985989248.299911927.8067479.781383.71328.129377.216385.457457041.99539710193.30965410834.6765962019972.751842891.792671484.2210719.324630906.1246808883635717925417513189224128101401243.858898027.5197451.277382.37627.597375.334383.358459323.89862010214.57862411127.2559952855388.451886156.662824129.9510983.485040915.4348009093834818078117313510323538931943268.582455741.0701974.811267.14041.242254.266258.956737307.35706933875.06846014020.1543641552865.171592214.372614928.4320699.0416087486.723011510986128923247213523832213340051999266.815455040.9661972.649267.04540.882255.106260.506739765.95099734230.28281335469.5211092763326.651659380.822670741.1820372.5116564090.9934125109051291231606136238517132OpenBenchmarking.org

Flexible IO Tester

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

TR 3970Xi9-10980XEOpenBenchmarking.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 FSGSBASE9001800270036004500SE +/- 1.15, N = 3SE +/- 35.09, N = 15SE +/- 2.96, N = 3SE +/- 1.53, N = 340053893281019851. (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

TR 3970Xi9-10980XEOpenBenchmarking.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 FSGSBASE400800120016002000SE +/- 0.58, N = 3SE +/- 17.51, N = 15SE +/- 0.67, N = 31999194314019891. (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

Java Gradle Build

Gradle Build: Reactor

TR 3970Xi9-10980XEOpenBenchmarking.orgSeconds, Fewer Is BetterJava Gradle BuildGradle Build: ReactorFSGSBASE PatchedNo FSGSBASE60120180240300SE +/- 5.06, N = 9SE +/- 1.73, N = 3SE +/- 2.63, N = 9SE +/- 3.31, N = 5266.82268.58243.86248.30

DaCapo Benchmark

Java Test: Tradebeans

TR 3970Xi9-10980XEOpenBenchmarking.orgmsec, Fewer Is BetterDaCapo Benchmark 9.12-MR1Java Test: TradebeansFSGSBASE PatchedNo FSGSBASE2K4K6K8K10KSE +/- 26.72, N = 4SE +/- 39.62, N = 4SE +/- 60.84, N = 4SE +/- 47.92, N = 44550455789809119

LevelDB

Benchmark: Hot Read

TR 3970Xi9-10980XEOpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Hot ReadFSGSBASE PatchedNo FSGSBASE918273645SE +/- 0.20, N = 3SE +/- 0.25, N = 3SE +/- 0.09, N = 3SE +/- 0.07, N = 340.9741.0727.5227.811. (CXX) g++ options: -O3 -lsnappy -lpthread

LevelDB

Benchmark: Fill Sync

TR 3970Xi9-10980XEOpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Fill SyncFSGSBASE PatchedNo FSGSBASE16003200480064008000SE +/- 5.39, N = 3SE +/- 4.78, N = 3SE +/- 9.08, N = 3SE +/- 21.21, N = 31972.651974.817451.287479.781. (CXX) g++ options: -O3 -lsnappy -lpthread

LevelDB

Benchmark: Overwrite

TR 3970Xi9-10980XEOpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: OverwriteFSGSBASE PatchedNo FSGSBASE80160240320400SE +/- 0.25, N = 3SE +/- 0.36, N = 3SE +/- 0.30, N = 3SE +/- 2.64, N = 3267.05267.14382.38383.711. (CXX) g++ options: -O3 -lsnappy -lpthread

LevelDB

Benchmark: Random Read

TR 3970Xi9-10980XEOpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Random ReadFSGSBASE PatchedNo FSGSBASE918273645SE +/- 0.23, N = 3SE +/- 0.21, N = 3SE +/- 0.09, N = 3SE +/- 0.07, N = 340.8841.2427.6028.131. (CXX) g++ options: -O3 -lsnappy -lpthread

LevelDB

Benchmark: Random Delete

TR 3970Xi9-10980XEOpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Random DeleteFSGSBASE PatchedNo FSGSBASE80160240320400SE +/- 0.19, N = 3SE +/- 0.67, N = 3SE +/- 0.16, N = 3SE +/- 1.04, N = 3255.11254.27375.33377.221. (CXX) g++ options: -O3 -lsnappy -lpthread

LevelDB

Benchmark: Sequential Fill

TR 3970Xi9-10980XEOpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Sequential FillFSGSBASE PatchedNo FSGSBASE80160240320400SE +/- 1.14, N = 3SE +/- 0.11, N = 3SE +/- 0.69, N = 3SE +/- 1.13, N = 3260.51258.96383.36385.461. (CXX) g++ options: -O3 -lsnappy -lpthread

PostgreSQL pgbench

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

TR 3970Xi9-10980XEOpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 12.0Scaling: Buffer Test - Test: Normal Load - Mode: Read OnlyFSGSBASE PatchedNo FSGSBASE160K320K480K640K800KSE +/- 2276.58, N = 3SE +/- 3401.55, N = 3SE +/- 544.12, N = 3SE +/- 986.91, N = 3739765.95737307.36459323.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

TR 3970Xi9-10980XEOpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 12.0Scaling: Buffer Test - Test: Normal Load - Mode: Read WriteFSGSBASE PatchedNo FSGSBASE7K14K21K28K35KSE +/- 448.70, N = 3SE +/- 247.46, N = 3SE +/- 9.73, N = 3SE +/- 18.22, N = 334230.2833875.0710214.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

TR 3970Xi9-10980XEOpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 12.0Scaling: Buffer Test - Test: Heavy Contention - Mode: Read WriteFSGSBASE PatchedNo FSGSBASE8K16K24K32K40KSE +/- 226.84, N = 3SE +/- 526.10, N = 15SE +/- 170.08, N = 3SE +/- 16.63, N = 335469.5214020.1511127.2610834.681. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

Redis

Test: LPOP

TR 3970Xi9-10980XEOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 5.0.5Test: LPOPFSGSBASE PatchedNo FSGSBASE600K1200K1800K2400K3000KSE +/- 72565.06, N = 12SE +/- 7396.20, N = 3SE +/- 32128.34, N = 15SE +/- 33512.47, N = 32763326.651552865.172855388.452019972.751. (CXX) g++ options: -MM -MT -g3 -fvisibility=hidden -O3

Redis

Test: LPUSH

TR 3970Xi9-10980XEOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 5.0.5Test: LPUSHFSGSBASE PatchedNo FSGSBASE400K800K1200K1600K2000KSE +/- 30373.02, N = 12SE +/- 26642.77, N = 15SE +/- 22661.66, N = 3SE +/- 11389.91, N = 31659380.821592214.371886156.661842891.791. (CXX) g++ options: -MM -MT -g3 -fvisibility=hidden -O3

Redis

Test: GET

TR 3970Xi9-10980XEOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 5.0.5Test: GETFSGSBASE PatchedNo FSGSBASE600K1200K1800K2400K3000KSE +/- 62627.77, N = 15SE +/- 53347.39, N = 15SE +/- 28244.30, N = 15SE +/- 24930.64, N = 152670741.182614928.432824129.952671484.221. (CXX) g++ options: -MM -MT -g3 -fvisibility=hidden -O3

Stress-NG

Test: Socket Activity

TR 3970Xi9-10980XEOpenBenchmarking.orgBogo Ops/s, More Is BetterStress-NG 0.11.07Test: Socket ActivityFSGSBASE PatchedNo FSGSBASE4K8K12K16K20KSE +/- 110.88, N = 3SE +/- 57.86, N = 3SE +/- 8.02, N = 3SE +/- 73.53, N = 320372.5120699.0410983.4810719.321. (CC) gcc options: -O2 -std=gnu99 -lm -lcrypt -lrt -lz -ldl -lpthread -lc

Stress-NG

Test: Context Switching

TR 3970Xi9-10980XEOpenBenchmarking.orgBogo Ops/s, More Is BetterStress-NG 0.11.07Test: Context SwitchingFSGSBASE PatchedNo FSGSBASE4M8M12M16M20MSE +/- 43294.30, N = 3SE +/- 142820.76, N = 3SE +/- 137371.78, N = 12SE +/- 93165.75, N = 1516564090.9916087486.725040915.434630906.121. (CC) gcc options: -O2 -std=gnu99 -lm -lcrypt -lrt -lz -ldl -lpthread -lc

Facebook RocksDB

Test: Random Fill Sync

TR 3970Xi9-10980XEOpenBenchmarking.orgOp/s, More Is BetterFacebook RocksDB 6.3.6Test: Random Fill SyncFSGSBASE PatchedNo FSGSBASE7K14K21K28K35KSE +/- 87.56, N = 3SE +/- 1150.57, N = 15SE +/- 7.75, N = 3SE +/- 41.44, N = 113412530115480046801. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread

Apache HBase

Test: Increment - Clients: 32

TR 3970Xi9-10980XEOpenBenchmarking.orgRows Per Second, More Is BetterApache HBase 2.2.3Test: Increment - Clients: 32FSGSBASE PatchedNo FSGSBASE20K40K60K80K100KSE +/- 489.10, N = 3SE +/- 519.37, N = 3SE +/- 306.20, N = 3SE +/- 560.37, N = 31090511098619093888836

Apache HBase

Test: Increment - Clients: 32

TR 3970Xi9-10980XEOpenBenchmarking.orgMicroseconds - Average Latency, Fewer Is BetterApache HBase 2.2.3Test: Increment - Clients: 32FSGSBASE PatchedNo FSGSBASE80160240320400SE +/- 1.76, N = 3SE +/- 1.73, N = 3SE +/- 1.67, N = 3SE +/- 2.65, N = 3291289348357

Apache HBase

Test: Random Read - Clients: 32

TR 3970Xi9-10980XEOpenBenchmarking.orgRows Per Second, More Is BetterApache HBase 2.2.3Test: Random Read - Clients: 32FSGSBASE PatchedNo FSGSBASE50K100K150K200K250KSE +/- 170.46, N = 3SE +/- 974.83, N = 3SE +/- 1029.85, N = 3SE +/- 1732.82, N = 3231606232472180781179254

Apache HBase

Test: Random Read - Clients: 32

TR 3970Xi9-10980XEOpenBenchmarking.orgMicroseconds - Average Latency, Fewer Is BetterApache HBase 2.2.3Test: Random Read - Clients: 32FSGSBASE PatchedNo FSGSBASE4080120160200SE +/- 0.67, N = 3SE +/- 0.67, N = 3SE +/- 1.76, N = 3136135173175

Apache HBase

Test: Sequential Read - Clients: 32

TR 3970Xi9-10980XEOpenBenchmarking.orgRows Per Second, More Is BetterApache HBase 2.2.3Test: Sequential Read - Clients: 32FSGSBASE PatchedNo FSGSBASE50K100K150K200K250KSE +/- 870.85, N = 3SE +/- 1472.20, N = 3SE +/- 1563.62, N = 3SE +/- 2099.51, N = 3238517238322135103131892

Apache HBase

Test: Sequential Read - Clients: 32

TR 3970Xi9-10980XEOpenBenchmarking.orgMicroseconds - Average Latency, Fewer Is BetterApache HBase 2.2.3Test: Sequential Read - Clients: 32FSGSBASE PatchedNo FSGSBASE50100150200250SE +/- 2.60, N = 3SE +/- 4.10, N = 3132133235241


Phoronix Test Suite v10.8.5