Linux 4.19 + New Microcode: Bare Metal vs. KVM Guest

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 1808277-RA-MICROCODE34
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
Show Result Confidence Charts

Limit displaying results to tests within:

Timed Code Compilation 2 Tests
C/C++ Compiler Tests 4 Tests
CPU Massive 14 Tests
Creator Workloads 3 Tests
Database Test Suite 3 Tests
Common Kernel Benchmarks 3 Tests
Multi-Core 9 Tests
Programmer / Developer System Benchmarks 2 Tests
Python Tests 2 Tests
Renderers 2 Tests
Server 4 Tests
Server CPU Tests 9 Tests
Single-Threaded 2 Tests
Common Workstation Benchmarks 3 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
On Line Graphs With Missing Data, Connect The Line Gaps

Multi-Way Comparison

Condense Comparison
Transpose Comparison

Table

Show Detailed System Result Table

Run Management

Highlight
Result
Hide
Result
Result
Identifier
Performance Per
Dollar
Date
Run
  Test
  Duration
Stock: Bare Metal
August 25 2018
  2 Hours, 5 Minutes
Stock: VM Guest
August 26 2018
  2 Hours, 37 Minutes
New Microcode: Bare Metal
August 26 2018
  2 Hours, 13 Minutes
New Microcode: VM Guest
August 27 2018
  2 Hours, 3 Minutes
Invert Hiding All Results Option
  2 Hours, 14 Minutes

Only show results where is faster than
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):


ProcessorMotherboardChipsetMemoryDiskGraphicsMonitorNetworkAudioOSKernelDesktopDisplay ServerDisplay DriverCompilerFile-SystemScreen ResolutionSystem LayerStockNew Microcode Bare Metal VM Guest Bare Metal VM Guest2 x Intel Xeon Gold 6138 @ 3.70GHz (40 Cores / 80 Threads)TYAN S7106 (V1.01 BIOS)Intel Sky Lake-E DMI3 Registers96256MB256GB Samsung SSD 850 + 2000GB Seagate ST2000DM006-2DM1 + 2 x 120GB TOSHIBA-TR150ASPEED ASPEED FamilyVE228Intel I210 Gigabit ConnectionUbuntu 18.044.18.0-999-generic (x86_64) 20180824GNOME Shell 3.28.2X Server 1.19.6modesetting 1.19.6GCC 7.3.0ext41920x108064 x Intel Xeon (Skylake IBRS) @ 2.00GHz (64 Cores)QEMU Standard PC (i440FX + PIIX 1996) (1.10.2-1ubuntu1 BIOS)Intel 440FX- 82441FX PMC47104MB162GBRed Hat QXL paravirtual graphic cardQEMU GenericRed Hat Virtio device1024x768KVM2 x Intel Xeon Gold 6138 @ 3.70GHz (40 Cores / 80 Threads)TYAN S7106 (V1.01 BIOS)Intel Sky Lake-E DMI3 Registers96256MB256GB Samsung SSD 850 + 2000GB Seagate ST2000DM006-2DM1 + 2 x 120GB TOSHIBA-TR150ASPEED ASPEED FamilyVE228Intel I210 Gigabit Connection1920x108064 x Intel Xeon (Skylake IBRS) @ 2.00GHz (64 Cores)QEMU Standard PC (i440FX + PIIX 1996) (1.10.2-1ubuntu1 BIOS)Intel 440FX- 82441FX PMC47104MB162GBRed Hat QXL paravirtual graphic cardQEMU GenericRed Hat Virtio device1024x768KVMOpenBenchmarking.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++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none --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-as=/usr/bin/x86_64-linux-gnu-as --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-ld=/usr/bin/x86_64-linux-gnu-ld --with-multilib-list=m32,m64,mx32 --with-target-system-zlib --with-tune=generic --without-cuda-driver -v Disk Details- Stock: Bare Metal: CFQ / errors=remount-ro,relatime,rw- Stock: VM Guest: NONE / errors=remount-ro,relatime,rw- New Microcode: Bare Metal: CFQ / errors=remount-ro,relatime,rw- New Microcode: VM Guest: NONE / errors=remount-ro,relatime,rwProcessor Details- Stock: Bare Metal, New Microcode: Bare Metal: Scaling Governor: intel_pstate powersavePython Details- Python 2.7.15rc1 + Python 3.6.5Security Details- Stock: Bare Metal: KPTI + __user pointer sanitization + Full generic retpoline IBPB IBRS_FW + PTE Inversion; VMX: conditional cache flushes SMT vulnerable Protection- Stock: VM Guest: KPTI + __user pointer sanitization + Full generic retpoline IBPB IBRS_FW + PTE Inversion Protection- New Microcode: Bare Metal: KPTI + __user pointer sanitization + Full generic retpoline IBPB IBRS_FW + SSB disabled via prctl and seccomp + PTE Inversion; VMX: conditional cache flushes SMT vulnerable Protection- New Microcode: VM Guest: KPTI + __user pointer sanitization + Full generic retpoline IBPB IBRS_FW + PTE Inversion Protection

stress-ng: Semaphoresstress-ng: Socket Activitystress-ng: Context Switchingstress-ng: System V Message Passingsysbench: Memorysysbench: CPUttsiod-renderer: Phong Rendering With Soft-Shadow Mappingx265: H.265 Video Encodingcompilebench: Compilecompilebench: Initial Createcompilebench: Read Compiled Treemysqlslap: 32redis: GETredis: SETnginx: Static Web Page Servingpgbench: Buffer Test - Normal Load - Read Onlybuild-linux-kernel: Time To Compilebuild-llvm: Time To Compileprimesieve: 1e12 Prime Number Generationhackbench: 32 - Processblender: Barbershop - CPU-OnlyStockNew Microcode Bare Metal VM Guest Bare Metal VM Guest1831962.433454.6322234776.327053890.1411764465.1158755.65742.6810.311712.79501.792469.932462142971.111656081.4624591.86585224.7933.70169.538.6235.73374.05600043.1314127.9512704770.9311422458.9110796572.7951676.09673.7410.361467.65460.822351.281311999876.291455207.3627078.58384280.7037.21208.7824.6271.54423.311890399.793313.1222976365.087163233.3111803679.9959370.55731.6010.321698.50487.432478.362212059062.251688379.9223745.74588527.6833.40171.028.6436.73373.98602511.2813024.2712082482.7112196067.3310580279.0951662.13668.1110.431489.48460.992281.891521997504.971393755.4027448.91377789.3536.90208.5924.4173.79420.12OpenBenchmarking.org

Stress-NG

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

New MicrocodeStockOpenBenchmarking.orgBogo Ops/s, More Is BetterStress-NG 0.07.26Test: SemaphoresBare MetalVM Guest400K800K1200K1600K2000KSE +/- 26014.39, N = 6SE +/- 2331.55, N = 3SE +/- 29092.76, N = 3SE +/- 925.56, N = 31890399.79602511.281831962.43600043.131. (CC) gcc options: -O2 -std=gnu99 -lm -lz -lcrypt -lrt -lpthread -laio -lc

StockNew MicrocodeOpenBenchmarking.orgBogo Ops/s, More Is BetterStress-NG 0.07.26Test: Socket ActivityVM GuestBare Metal3K6K9K12K15KSE +/- 151.62, N = 3SE +/- 853.24, N = 12SE +/- 207.14, N = 3SE +/- 943.03, N = 1214127.953454.6313024.273313.121. (CC) gcc options: -O2 -std=gnu99 -lm -lz -lcrypt -lrt -lpthread -laio -lc

New MicrocodeStockOpenBenchmarking.orgBogo Ops/s, More Is BetterStress-NG 0.07.26Test: Context SwitchingBare MetalVM Guest5M10M15M20M25MSE +/- 550387.69, N = 12SE +/- 69768.14, N = 3SE +/- 858271.57, N = 12SE +/- 57576.83, N = 322976365.0812082482.7122234776.3212704770.931. (CC) gcc options: -O2 -std=gnu99 -lm -lz -lcrypt -lrt -lpthread -laio -lc

New MicrocodeStockOpenBenchmarking.orgBogo Ops/s, More Is BetterStress-NG 0.07.26Test: System V Message PassingVM GuestBare Metal3M6M9M12M15MSE +/- 55318.04, N = 3SE +/- 457349.76, N = 9SE +/- 87029.51, N = 3SE +/- 342053.14, N = 1212196067.337163233.3111422458.917053890.141. (CC) gcc options: -O2 -std=gnu99 -lm -lz -lcrypt -lrt -lpthread -laio -lc

Sysbench

This is a benchmark of Sysbench with CPU and memory sub-tests. Learn more via the OpenBenchmarking.org test page.

New MicrocodeStockOpenBenchmarking.orgEvents Per Second, More Is BetterSysbench 2018-07-28Test: MemoryBare MetalVM Guest3M6M9M12M15MSE +/- 188626.26, N = 3SE +/- 113244.97, N = 3SE +/- 132541.95, N = 12SE +/- 139878.10, N = 311803679.9910580279.0911764465.1110796572.791. (CC) gcc options: -pthread -O3 -funroll-loops -ggdb3 -march=core2 -rdynamic -ldl -laio -lm

New MicrocodeStockOpenBenchmarking.orgEvents Per Second, More Is BetterSysbench 2018-07-28Test: CPUBare MetalVM Guest13K26K39K52K65KSE +/- 296.24, N = 3SE +/- 11.32, N = 3SE +/- 583.55, N = 3SE +/- 5.72, N = 359370.5551662.1358755.6551676.091. (CC) gcc options: -pthread -O3 -funroll-loops -ggdb3 -march=core2 -rdynamic -ldl -laio -lm

TTSIOD 3D Renderer

A portable GPL 3D software renderer that supports OpenMP and Intel Threading Building Blocks with many different rendering modes. This version does not use OpenGL but is entirely CPU/software based. Learn more via the OpenBenchmarking.org test page.

StockNew MicrocodeOpenBenchmarking.orgFPS, More Is BetterTTSIOD 3D Renderer 2.3bPhong Rendering With Soft-Shadow MappingBare MetalVM Guest160320480640800SE +/- 10.35, N = 3SE +/- 6.63, N = 3SE +/- 6.67, N = 3SE +/- 3.91, N = 3742.68673.74731.60668.111. (CXX) g++ options: -O3 -fomit-frame-pointer -ffast-math -mtune=native -flto -msse -mrecip -mfpmath=sse -msse2 -mssse3 -lSDL -fopenmp -fwhole-program -lstdc++

x265

This is a simple test of the x265 encoder run on the CPU with a sample video file. Learn more via the OpenBenchmarking.org test page.

New MicrocodeStockOpenBenchmarking.orgFrames Per Second, More Is Betterx265 2.8H.265 Video EncodingVM GuestBare Metal3691215SE +/- 0.04, N = 3SE +/- 0.01, N = 3SE +/- 0.05, N = 3SE +/- 0.06, N = 310.4310.3210.3610.311. (CXX) g++ options: -O3 -rdynamic -lpthread -lrt -ldl

Compile Bench

Compilebench tries to age a filesystem by simulating some of the disk IO common in creating, compiling, patching, stating and reading kernel trees. It indirectly measures how well filesystems can maintain directory locality as the disk fills up and directories age. This current test is setup to use the makej mode with 10 initial directories Learn more via the OpenBenchmarking.org test page.

StockNew MicrocodeOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: CompileBare MetalVM Guest400800120016002000SE +/- 8.67, N = 3SE +/- 11.24, N = 3SE +/- 2.32, N = 3SE +/- 4.45, N = 31712.791467.651698.501489.48

StockNew MicrocodeOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateBare MetalVM Guest110220330440550SE +/- 3.51, N = 3SE +/- 15.44, N = 3SE +/- 1.19, N = 3SE +/- 5.36, N = 3501.79460.82487.43460.99

New MicrocodeStockOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Read Compiled TreeBare MetalVM Guest5001000150020002500SE +/- 27.68, N = 3SE +/- 35.39, N = 3SE +/- 12.91, N = 3SE +/- 12.12, N = 32478.362281.892469.932351.28

Tinymembench

StockNew MicrocodeOpenBenchmarking.orgMB/s, More Is BetterTinymembench 2018-05-28Standard MemsetBare MetalVM Guest2K4K6K8K10K9298.208980.209151.701. (CC) gcc options: -O2 -lm

MariaDB

This is a MariaDB MySQL database server benchmark making use of mysqlslap. Learn more via the OpenBenchmarking.org test page.

StockNew MicrocodeOpenBenchmarking.orgQueries Per Second, More Is BetterMariaDB 10.3.8Clients: 32Bare MetalVM Guest50100150200250SE +/- 1.96, N = 3SE +/- 0.75, N = 3SE +/- 2.85, N = 3SE +/- 0.67, N = 32461312211521. (CXX) g++ options: -pie -fPIC -fstack-protector -fno-rtti -O2 -lpthread -llzma -laio -lz -lm -lpcre -lcrypt -lssl -lcrypto -ldl

Redis

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

StockNew MicrocodeOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 4.0.8Test: GETBare MetalVM Guest500K1000K1500K2000K2500KSE +/- 42615.86, N = 12SE +/- 67289.89, N = 12SE +/- 6166.42, N = 3SE +/- 51272.68, N = 122142971.111999876.292059062.251997504.971. (CC) gcc options: -ggdb -rdynamic -lm -ldl -pthread

New MicrocodeStockOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 4.0.8Test: SETBare MetalVM Guest400K800K1200K1600K2000KSE +/- 10888.60, N = 3SE +/- 60085.02, N = 12SE +/- 19253.77, N = 3SE +/- 51445.85, N = 121688379.921393755.401656081.461455207.361. (CC) gcc options: -ggdb -rdynamic -lm -ldl -pthread

NGINX Benchmark

This is a test of ab, which is the Apache Benchmark program running against nginx. This test profile measures how many requests per second a given system can sustain when carrying out 2,000,000 requests with 500 requests being carried out concurrently. Learn more via the OpenBenchmarking.org test page.

New MicrocodeStockOpenBenchmarking.orgRequests Per Second, More Is BetterNGINX Benchmark 1.9.9Static Web Page ServingVM GuestBare Metal6K12K18K24K30KSE +/- 83.37, N = 3SE +/- 114.41, N = 3SE +/- 1495.37, N = 3SE +/- 140.64, N = 327448.9123745.7427078.5824591.861. (CC) gcc options: -lpthread -lcrypt -lcrypto -lz -O3 -march=native

PostgreSQL pgbench

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

New MicrocodeStockOpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 10.3Scaling: Buffer Test - Test: Normal Load - Mode: Read OnlyBare MetalVM Guest130K260K390K520K650KSE +/- 823.94, N = 3SE +/- 3308.21, N = 3SE +/- 2323.77, N = 3SE +/- 2865.20, N = 3588527.68377789.35585224.79384280.701. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

Timed Linux Kernel Compilation

This test times how long it takes to build the Linux kernel in a default configuration. Learn more via the OpenBenchmarking.org test page.

New MicrocodeStockOpenBenchmarking.orgSeconds, Fewer Is BetterTimed Linux Kernel Compilation 4.18Time To CompileBare MetalVM Guest918273645SE +/- 0.50, N = 12SE +/- 0.41, N = 12SE +/- 1.08, N = 12SE +/- 0.41, N = 1233.4036.9033.7037.21

Timed LLVM Compilation

This test times how long it takes to build the LLVM compiler. Learn more via the OpenBenchmarking.org test page.

StockNew MicrocodeOpenBenchmarking.orgSeconds, Fewer Is BetterTimed LLVM Compilation 6.0.1Time To CompileBare MetalVM Guest50100150200250169.53208.78171.02208.59

Primesieve

Primesieve generates prime numbers using a highly optimized sieve of Eratosthenes implementation. Primesieve benchmarks the CPU's L1/L2 cache performance. Learn more via the OpenBenchmarking.org test page.

StockNew MicrocodeOpenBenchmarking.orgSeconds, Fewer Is BetterPrimesieve 7.11e12 Prime Number GenerationBare MetalVM Guest612182430SE +/- 0.03, N = 3SE +/- 0.15, N = 3SE +/- 0.02, N = 3SE +/- 0.25, N = 38.6224.628.6424.411. (CXX) g++ options: -O3 -lpthread

Hackbench

This is a benchmark of Hackbench, a test of the Linux kernel scheduler. Learn more via the OpenBenchmarking.org test page.

StockNew MicrocodeOpenBenchmarking.orgSeconds, Fewer Is BetterHackbenchCount: 32 - Type: ProcessBare MetalVM Guest1632486480SE +/- 0.99, N = 12SE +/- 0.25, N = 3SE +/- 0.69, N = 3SE +/- 0.53, N = 335.7371.5436.7373.791. (CC) gcc options: -lpthread

Blender

Blender is an open-source 3D creation software project. This test is of Blender's Cycles benchmark with various sample files. GPU computing via OpenCL or CUDA is supported. Learn more via the OpenBenchmarking.org test page.

New MicrocodeStockOpenBenchmarking.orgSeconds, Fewer Is BetterBlender 2.79aBlend File: Barbershop - Compute: CPU-OnlyBare MetalVM Guest90180270360450373.98420.12374.05423.31