Spectre V2 Userspace-Userspace Mitigation Very preliminary Spectre V2 userspace-userspace patch benchmarks. tests for a future article on Phoronix. Xeon E3 v5: Linux 4.19 Git: Processor: Intel Xeon E3-1280 v5 @ 4.00GHz (4 Cores / 8 Threads), Motherboard: MSI Z170A SLI PLUS (MS-7998) v1.0 (2.90 BIOS), Chipset: Intel Xeon E3-1200 v5/E3-1500, Memory: 16384MB, Disk: Samsung SSD 970 EVO 250GB, Graphics: Sapphire AMD Radeon RX 470/480/570/570X/580/580X 4096MB, Audio: Realtek ALC1150, Monitor: VE228, Network: Intel Connection OS: Ubuntu 18.10, Kernel: 4.19.0-999-generic (x86_64) 20180925, Desktop: GNOME Shell 3.30.0, Display Server: X Server 1.20.1, Display Driver: modesetting 1.20.1, Compiler: GCC 8.2.0, File-System: ext4, Screen Resolution: 1920x1080 Xeon E3 v5: spectre_v2_app2app Lite: Processor: Intel Xeon E3-1280 v5 @ 4.00GHz (4 Cores / 8 Threads), Motherboard: MSI Z170A SLI PLUS (MS-7998) v1.0 (2.90 BIOS), Chipset: Intel Xeon E3-1200 v5/E3-1500, Memory: 16384MB, Disk: Samsung SSD 970 EVO 250GB, Graphics: Sapphire AMD Radeon RX 470/480/570/570X/580/580X 4096MB, Audio: Realtek ALC1150, Monitor: VE228, Network: Intel Connection OS: Ubuntu 18.10, Kernel: 4.19.0-rc2-spec2useruser-phx (x86_64) 20180926, Desktop: GNOME Shell 3.30.0, Display Server: X Server 1.20.1, Display Driver: modesetting 1.20.1, Compiler: GCC 8.2.0, File-System: ext4, Screen Resolution: 1920x1080 2 x Xeon Gold: Linux 4.19 Git: Processor: 2 x Intel Xeon Gold 6138 @ 3.70GHz (40 Cores / 80 Threads), Motherboard: TYAN S7106 (V1.01 BIOS), Chipset: Intel Sky Lake-E DMI3 Registers, Memory: 96256MB, Disk: Samsung SSD 970 EVO 250GB, Graphics: ASPEED ASPEED Family, Monitor: VE228, Network: Intel I210 Gigabit Connection OS: Ubuntu 18.10, Kernel: 4.19.0-999-generic (x86_64) 20180925, Desktop: GNOME Shell 3.30.0, Display Server: X Server 1.20.1, Display Driver: modesetting 1.20.1, Compiler: GCC 8.2.0, File-System: ext4, Screen Resolution: 1920x1080 2 x Xeon Gold: spectre_v2_app2app Lite: Processor: 2 x Intel Xeon Gold 6138 @ 3.70GHz (40 Cores / 80 Threads), Motherboard: TYAN S7106 (V1.01 BIOS), Chipset: Intel Sky Lake-E DMI3 Registers, Memory: 96256MB, Disk: Samsung SSD 970 EVO 250GB, Graphics: ASPEED ASPEED Family, Monitor: VE228, Network: Intel I210 Gigabit Connection OS: Ubuntu 18.10, Kernel: 4.19.0-rc2-spec2useruser-phx (x86_64) 20180926, Desktop: GNOME Shell 3.30.0, Display Server: X Server 1.20.1, Display Driver: modesetting 1.20.1, Compiler: GCC 8.2.0, File-System: ext4, Screen Resolution: 1920x1080 EPYC 7601: Linux 4.19 Git: Processor: AMD EPYC 7601 32-Core @ 2.20GHz (32 Cores / 64 Threads), Motherboard: TYAN B8026T70AE24HR (V1.02.B10 BIOS), Chipset: AMD Family 17h, Memory: 129024MB, Disk: Samsung SSD 970 EVO 250GB, Graphics: ASPEED ASPEED Family, Monitor: VE228, Network: Broadcom and subsidiaries NetXtreme BCM5720 Gigabit PCIe OS: Ubuntu 18.10, Kernel: 4.19.0-999-generic (x86_64) 20180925, Desktop: GNOME Shell 3.30.0, Display Server: X Server 1.20.1, Display Driver: modesetting 1.20.1, Compiler: GCC 8.2.0, File-System: ext4, Screen Resolution: 1920x1080 EPYC 7601: spectre_v2_app2app Lite: Processor: AMD EPYC 7601 32-Core @ 2.20GHz (32 Cores / 64 Threads), Motherboard: TYAN B8026T70AE24HR (V1.02.B10 BIOS), Chipset: AMD Family 17h, Memory: 129024MB, Disk: Samsung SSD 970 EVO 250GB, Graphics: ASPEED ASPEED Family, Monitor: VE228, Network: Broadcom and subsidiaries NetXtreme BCM5720 Gigabit PCIe OS: Ubuntu 18.10, Kernel: 4.19.0-rc2-spec2useruser-phx (x86_64) 20180926, Desktop: GNOME Shell 3.30.0, Display Server: X Server 1.20.1, Display Driver: modesetting 1.20.1, Compiler: GCC 8.2.0, File-System: ext4, Screen Resolution: 1920x1080 SQLite 3.22 Timed SQLite Insertions Seconds < Lower Is Better Xeon E3 v5: Linux 4.19 Git ............. 41.63 |======================= Xeon E3 v5: spectre_v2_app2app Lite .... 57.12 |=============================== 2 x Xeon Gold: Linux 4.19 Git .......... 41.13 |====================== 2 x Xeon Gold: spectre_v2_app2app Lite . 41.32 |====================== EPYC 7601: Linux 4.19 Git .............. 39.79 |====================== EPYC 7601: spectre_v2_app2app Lite ..... 39.50 |===================== Go Benchmarks Test: http Nanoseconds/Operation < Lower Is Better Xeon E3 v5: Linux 4.19 Git ............. 8052 |============ Xeon E3 v5: spectre_v2_app2app Lite .... 7973 |=========== 2 x Xeon Gold: Linux 4.19 Git .......... 8287 |============ 2 x Xeon Gold: spectre_v2_app2app Lite . 8434 |============ EPYC 7601: Linux 4.19 Git .............. 20894 |============================== EPYC 7601: spectre_v2_app2app Lite ..... 21572 |=============================== Go Benchmarks Test: json Nanoseconds/Operation < Lower Is Better Xeon E3 v5: Linux 4.19 Git ............. 12576412 |============================ Xeon E3 v5: spectre_v2_app2app Lite .... 12592754 |============================ 2 x Xeon Gold: Linux 4.19 Git .......... 2570590 |====== 2 x Xeon Gold: spectre_v2_app2app Lite . 2573917 |====== EPYC 7601: Linux 4.19 Git .............. 3188879 |======= EPYC 7601: spectre_v2_app2app Lite ..... 3235572 |======= Go Benchmarks Test: build Nanoseconds/Operation < Lower Is Better Xeon E3 v5: Linux 4.19 Git ............. 13699098738 |=============== Xeon E3 v5: spectre_v2_app2app Lite .... 13605875332 |=============== 2 x Xeon Gold: Linux 4.19 Git .......... 21232716297 |======================= 2 x Xeon Gold: spectre_v2_app2app Lite . 21286005928 |======================= EPYC 7601: Linux 4.19 Git .............. 23071904651 |========================= EPYC 7601: spectre_v2_app2app Lite ..... 22909851096 |========================= Go Benchmarks Test: garbage Nanoseconds/Operation < Lower Is Better Xeon E3 v5: Linux 4.19 Git ............. 2624869 |============================= Xeon E3 v5: spectre_v2_app2app Lite .... 2631563 |============================= 2 x Xeon Gold: Linux 4.19 Git .......... 871939 |========== 2 x Xeon Gold: spectre_v2_app2app Lite . 856776 |========= EPYC 7601: Linux 4.19 Git .............. 874918 |========== EPYC 7601: spectre_v2_app2app Lite ..... 868566 |========== Java SciMark 2.0 Computational Test: Composite Mflops > Higher Is Better Xeon E3 v5: Linux 4.19 Git ............. 2436 |================================ Xeon E3 v5: spectre_v2_app2app Lite .... 2422 |================================ 2 x Xeon Gold: Linux 4.19 Git .......... 2046 |=========================== 2 x Xeon Gold: spectre_v2_app2app Lite . 2064 |=========================== EPYC 7601: Linux 4.19 Git .............. 1999 |========================== EPYC 7601: spectre_v2_app2app Lite ..... 1988 |========================== LuaJIT 2.0.5 Test: Composite Mflops > Higher Is Better Xeon E3 v5: Linux 4.19 Git ............. 1423 |================================ Xeon E3 v5: spectre_v2_app2app Lite .... 1414 |================================ 2 x Xeon Gold: Linux 4.19 Git .......... 1361 |=============================== 2 x Xeon Gold: spectre_v2_app2app Lite . 1363 |=============================== EPYC 7601: Linux 4.19 Git .............. 1127 |========================= EPYC 7601: spectre_v2_app2app Lite ..... 1130 |========================= Stockfish 9 Total Time Nodes Per Second > Higher Is Better Xeon E3 v5: Linux 4.19 Git ............. 10932676 |==== Xeon E3 v5: spectre_v2_app2app Lite .... 10996474 |==== 2 x Xeon Gold: Linux 4.19 Git .......... 70618245 |============================ 2 x Xeon Gold: spectre_v2_app2app Lite . 68514820 |=========================== EPYC 7601: Linux 4.19 Git .............. 58295761 |======================= EPYC 7601: spectre_v2_app2app Lite ..... 57714332 |======================= ebizzy 0.3 Records/s > Higher Is Better Xeon E3 v5: Linux 4.19 Git ............. 248641 |====== Xeon E3 v5: spectre_v2_app2app Lite .... 235247 |====== 2 x Xeon Gold: Linux 4.19 Git .......... 984344 |======================== 2 x Xeon Gold: spectre_v2_app2app Lite . 953765 |======================== EPYC 7601: Linux 4.19 Git .............. 1170497 |============================= EPYC 7601: spectre_v2_app2app Lite ..... 1128287 |============================ Timed Linux Kernel Compilation 4.18 Time To Compile Seconds < Lower Is Better Xeon E3 v5: Linux 4.19 Git ............. 157.34 |============================== Xeon E3 v5: spectre_v2_app2app Lite .... 157.43 |============================== 2 x Xeon Gold: Linux 4.19 Git .......... 33.99 |====== 2 x Xeon Gold: spectre_v2_app2app Lite . 34.07 |====== EPYC 7601: Linux 4.19 Git .............. 42.89 |======== EPYC 7601: spectre_v2_app2app Lite ..... 42.89 |======== Timed LLVM Compilation 6.0.1 Time To Compile Seconds < Lower Is Better Xeon E3 v5: Linux 4.19 Git ............. 917 |================================= Xeon E3 v5: spectre_v2_app2app Lite .... 926 |================================= 2 x Xeon Gold: Linux 4.19 Git .......... 171 |====== 2 x Xeon Gold: spectre_v2_app2app Lite . 171 |====== EPYC 7601: Linux 4.19 Git .............. 239 |========= EPYC 7601: spectre_v2_app2app Lite ..... 230 |======== Gzip Compression Linux Source Tree Archiving To .tar.gz Seconds < Lower Is Better Xeon E3 v5: Linux 4.19 Git ............. 37.93 |========================== Xeon E3 v5: spectre_v2_app2app Lite .... 37.76 |========================= 2 x Xeon Gold: Linux 4.19 Git .......... 40.20 |=========================== 2 x Xeon Gold: spectre_v2_app2app Lite . 40.39 |=========================== EPYC 7601: Linux 4.19 Git .............. 46.06 |=============================== EPYC 7601: spectre_v2_app2app Lite ..... 46.04 |=============================== Zstd Compression 1.3.4 Compressing ubuntu-16.04.3-server-i386.img, Compression Level 19 Seconds < Lower Is Better Xeon E3 v5: Linux 4.19 Git ............. 129 |========================== Xeon E3 v5: spectre_v2_app2app Lite .... 130 |========================== 2 x Xeon Gold: Linux 4.19 Git .......... 121 |========================= 2 x Xeon Gold: spectre_v2_app2app Lite . 120 |======================== EPYC 7601: Linux 4.19 Git .............. 162 |================================= EPYC 7601: spectre_v2_app2app Lite ..... 162 |================================= Perl Benchmarks Test: Pod2html Seconds < Lower Is Better Xeon E3 v5: Linux 4.19 Git ............. 0.11737964 |================ Xeon E3 v5: spectre_v2_app2app Lite .... 0.11743081 |================ 2 x Xeon Gold: Linux 4.19 Git .......... 0.11856598 |================ 2 x Xeon Gold: spectre_v2_app2app Lite . 0.11838295 |================ EPYC 7601: Linux 4.19 Git .............. 0.19001476 |========================== EPYC 7601: spectre_v2_app2app Lite ..... 0.19061629 |========================== Perl Benchmarks Test: Interpreter Seconds < Lower Is Better Xeon E3 v5: Linux 4.19 Git ............. 0.00121241 |========== Xeon E3 v5: spectre_v2_app2app Lite .... 0.00111016 |========= 2 x Xeon Gold: Linux 4.19 Git .......... 0.00313337 |========================== 2 x Xeon Gold: spectre_v2_app2app Lite . 0.00312067 |========================== EPYC 7601: Linux 4.19 Git .............. 0.00217786 |================== EPYC 7601: spectre_v2_app2app Lite ..... 0.00205963 |================= R Benchmark Seconds < Lower Is Better Xeon E3 v5: Linux 4.19 Git ............. 0.2011 |============= Xeon E3 v5: spectre_v2_app2app Lite .... 0.2008 |============= 2 x Xeon Gold: Linux 4.19 Git .......... 0.4295 |============================ 2 x Xeon Gold: spectre_v2_app2app Lite . 0.4276 |============================ EPYC 7601: Linux 4.19 Git .............. 0.4653 |============================== EPYC 7601: spectre_v2_app2app Lite ..... 0.4652 |============================== PostgreSQL pgbench 10.3 Scaling: Buffer Test - Test: Normal Load - Mode: Read Only TPS > Higher Is Better Xeon E3 v5: Linux 4.19 Git ............. 114333 |====== Xeon E3 v5: spectre_v2_app2app Lite .... 114306 |====== 2 x Xeon Gold: Linux 4.19 Git .......... 575285 |============================== 2 x Xeon Gold: spectre_v2_app2app Lite . 581375 |============================== EPYC 7601: Linux 4.19 Git .............. 398838 |===================== EPYC 7601: spectre_v2_app2app Lite ..... 399342 |===================== PostgreSQL pgbench 10.3 Scaling: Buffer Test - Test: Normal Load - Mode: Read Write TPS > Higher Is Better Xeon E3 v5: Linux 4.19 Git ............. 4613 |========================= Xeon E3 v5: spectre_v2_app2app Lite .... 4655 |========================= 2 x Xeon Gold: Linux 4.19 Git .......... 5504 |============================== 2 x Xeon Gold: spectre_v2_app2app Lite . 5433 |============================== EPYC 7601: Linux 4.19 Git .............. 5814 |================================ EPYC 7601: spectre_v2_app2app Lite ..... 5872 |================================ GNU Octave Benchmark 4.4.1 Seconds < Lower Is Better Xeon E3 v5: Linux 4.19 Git ............. 15.55 |===================== Xeon E3 v5: spectre_v2_app2app Lite .... 15.20 |===================== 2 x Xeon Gold: Linux 4.19 Git .......... 22.96 |=============================== 2 x Xeon Gold: spectre_v2_app2app Lite . 22.62 |=============================== EPYC 7601: Linux 4.19 Git .............. 21.35 |============================= EPYC 7601: spectre_v2_app2app Lite ..... 22.26 |============================== Redis 4.0.8 Test: SADD Requests Per Second > Higher Is Better Xeon E3 v5: Linux 4.19 Git ............. 2172409 |============================= Xeon E3 v5: spectre_v2_app2app Lite .... 2152132 |============================= 2 x Xeon Gold: Linux 4.19 Git .......... 1871188 |========================= 2 x Xeon Gold: spectre_v2_app2app Lite . 1887801 |========================= EPYC 7601: Linux 4.19 Git .............. 1600992 |===================== EPYC 7601: spectre_v2_app2app Lite ..... 1574633 |===================== Redis 4.0.8 Test: GET Requests Per Second > Higher Is Better Xeon E3 v5: Linux 4.19 Git ............. 2486014 |========================== Xeon E3 v5: spectre_v2_app2app Lite .... 2737734 |============================= 2 x Xeon Gold: Linux 4.19 Git .......... 2293584 |======================== 2 x Xeon Gold: spectre_v2_app2app Lite . 2110432 |====================== EPYC 7601: Linux 4.19 Git .............. 1700905 |================== EPYC 7601: spectre_v2_app2app Lite ..... 1722306 |================== Redis 4.0.8 Test: SET Requests Per Second > Higher Is Better Xeon E3 v5: Linux 4.19 Git ............. 1878075 |============================ Xeon E3 v5: spectre_v2_app2app Lite .... 1937071 |============================= 2 x Xeon Gold: Linux 4.19 Git .......... 1674181 |========================= 2 x Xeon Gold: spectre_v2_app2app Lite . 1666841 |========================= EPYC 7601: Linux 4.19 Git .............. 1347221 |==================== EPYC 7601: spectre_v2_app2app Lite ..... 1324733 |==================== Blender 2.79a Blend File: Barbershop - Compute: CPU-Only Seconds < Lower Is Better Xeon E3 v5: Linux 4.19 Git ............. 2284 |================================ Xeon E3 v5: spectre_v2_app2app Lite .... 2280 |================================ 2 x Xeon Gold: Linux 4.19 Git .......... 373 |===== 2 x Xeon Gold: spectre_v2_app2app Lite . 375 |===== EPYC 7601: Linux 4.19 Git .............. 503 |======= EPYC 7601: spectre_v2_app2app Lite ..... 502 |======= PyBench 2018-02-16 Total For Average Test Times Milliseconds < Lower Is Better Xeon E3 v5: Linux 4.19 Git ............. 1047 |====================== Xeon E3 v5: spectre_v2_app2app Lite .... 1048 |====================== 2 x Xeon Gold: Linux 4.19 Git .......... 1128 |======================== 2 x Xeon Gold: spectre_v2_app2app Lite . 1133 |======================== EPYC 7601: Linux 4.19 Git .............. 1524 |================================ EPYC 7601: spectre_v2_app2app Lite ..... 1522 |================================ NGINX Benchmark 1.9.9 Static Web Page Serving Requests Per Second > Higher Is Better Xeon E3 v5: Linux 4.19 Git ............. 37372 |=============================== Xeon E3 v5: spectre_v2_app2app Lite .... 37015 |=============================== 2 x Xeon Gold: Linux 4.19 Git .......... 29773 |========================= 2 x Xeon Gold: spectre_v2_app2app Lite . 30121 |========================= EPYC 7601: Linux 4.19 Git .............. 23617 |==================== EPYC 7601: spectre_v2_app2app Lite ..... 23602 |==================== Apache Siege 2.4.29 Concurrent Users: 100 Transactions Per Second > Higher Is Better Xeon E3 v5: Linux 4.19 Git ............. 35829 |========================== Xeon E3 v5: spectre_v2_app2app Lite .... 43178 |=============================== 2 x Xeon Gold: Linux 4.19 Git .......... 29949 |====================== 2 x Xeon Gold: spectre_v2_app2app Lite . 29197 |===================== EPYC 7601: Linux 4.19 Git .............. 23529 |================= EPYC 7601: spectre_v2_app2app Lite ..... 23041 |================= Apache Siege 2.4.29 Concurrent Users: 250 Transactions Per Second > Higher Is Better Xeon E3 v5: Linux 4.19 Git ............. 41453 |============================= Xeon E3 v5: spectre_v2_app2app Lite .... 43937 |=============================== 2 x Xeon Gold: Linux 4.19 Git .......... 29401 |===================== 2 x Xeon Gold: spectre_v2_app2app Lite . 30008 |===================== EPYC 7601: Linux 4.19 Git .............. 23223 |================ EPYC 7601: spectre_v2_app2app Lite ..... 23195 |================ PHPBench 0.8.1 PHP Benchmark Suite Score > Higher Is Better Xeon E3 v5: Linux 4.19 Git ............. 638446 |============================== Xeon E3 v5: spectre_v2_app2app Lite .... 640994 |============================== 2 x Xeon Gold: Linux 4.19 Git .......... 592819 |============================ 2 x Xeon Gold: spectre_v2_app2app Lite . 590113 |============================ EPYC 7601: Linux 4.19 Git .............. 397506 |=================== EPYC 7601: spectre_v2_app2app Lite ..... 397883 |=================== Scikit-Learn 0.17.1 Seconds < Lower Is Better Xeon E3 v5: Linux 4.19 Git ............. 15.79 |================= Xeon E3 v5: spectre_v2_app2app Lite .... 15.64 |================= 2 x Xeon Gold: Linux 4.19 Git .......... 19.77 |====================== 2 x Xeon Gold: spectre_v2_app2app Lite . 19.31 |===================== EPYC 7601: Linux 4.19 Git .............. 28.22 |=============================== EPYC 7601: spectre_v2_app2app Lite ..... 27.28 |============================== Sunflow Rendering System 0.07.2 Global Illumination + Image Synthesis Seconds < Lower Is Better Xeon E3 v5: Linux 4.19 Git ............. 2.47 |================================ Xeon E3 v5: spectre_v2_app2app Lite .... 2.44 |================================ 2 x Xeon Gold: Linux 4.19 Git .......... 1.05 |============== 2 x Xeon Gold: spectre_v2_app2app Lite . 1.03 |============= EPYC 7601: Linux 4.19 Git .............. 1.03 |============= EPYC 7601: spectre_v2_app2app Lite ..... 1.03 |=============