Ubuntu 14.10 VirtualBox vs. KVM Virt

Early Ubuntu 14.04 LTS virtualization benchmarks on KVM versus bare metal versus Oracle VM VirtualBox. More tests on the way. Testing by Michael Larabel of Phoronix.com for a future article.

HTML result view exported from: https://openbenchmarking.org/result/1312115-SO-VIRTUALUB73.

Ubuntu 14.10 VirtualBox vs. KVM VirtProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionSystem LayerBare MetalQEMU-KVMVirtualBox 4.3.4Intel Core i7-4960X @ 3.60GHz (12 Cores)MSI X79MA-GD45 (MS-7738) v1.0Intel Xeon E5 v2/Core8192MB1000GB Seagate ST1000DX001-1CM1Sapphire AMD Radeon HD 4870 512MBRealtek ALC892DELL S2409WRealtek RTL8111/8168/8411Ubuntu 14.043.12.0-7-generic (x86_64)Unity 7.1.2X Server 1.14.4radeon 7.2.03.1 Mesa 10.0.0 Gallium 0.4GCC 4.8ext41920x1080QEMU Virtual 1.7.0 @ 3.60GHz (12 Cores)BochsIntel 440FX- 82441FX PMC6144MB81GBLLVMpipeGeneric 1af4 ID 22Red Hat Virtio devicecirrus 1.5.22.1 Mesa 10.0.0 Gallium 0.41024x768QEMU 1.7.0Intel Core i7-4960X @ 3.59GHz (12 Cores)Oracle VirtualBox v1.294GB VBOX HDDIntel 82801AA AC 97 AudioIntel 82540EM Gigabitmodesetting 0.8.1VirtualBoxOpenBenchmarking.orgCompiler Details- --build=x86_64-linux-gnu --disable-browser-plugin --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-gtk-cairo --enable-java-awt=gtk --enable-java-home --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-arch-directory=amd64 --with-multilib-list=m32,m64,mx32 --with-tune=generic -v Disk Details- DEADLINE / data=ordered,errors=remount-ro,relatime,rwProcessor Details- Bare Metal: Scaling Governor: acpi-cpufreq ondemandSystem Details- Disk Scheduler: DEADLINE. Python 2.7.6.Environment Details- QEMU-KVM, VirtualBox 4.3.4: LIBGL_ALWAYS_SOFTWARE=1

Ubuntu 14.10 VirtualBox vs. KVM Virtaio-stress: Rand Writefs-mark: 1000 Files, 1MB Sizefs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizecompilebench: Compilecompilebench: Initial Createcompilebench: Read Compiled Treepostmark: Disk Transaction Performancestream: Copystream: Scalestream: Triadstream: Addhpcc: G-HPLhpcc: G-Fftehpcc: EP-DGEMMhpcc: G-Ptranshpcc: EP-STREAM Triadhpcc: G-Rand Accesshpcc: Rand Ring Latencyhpcc: Rand Ring Bandwidthhpcc: Max Ping Pong Bandwidthparboil: OpenMP LBMparboil: OpenMP CUTCPparboil: OpenMP Stencilrodinia: OpenMP Leukocyterodinia: OpenMP CFD Solverrodinia: OpenMP Streamclusterttsiod-renderer: Phong Rendering With Soft-Shadow Mappingvpxenc: vpxencx264: H.264 Video Encodingbuild-linux-kernel: Time To Compilec-ray: Total Timecompress-pbzip2: 256MB File Compressionopen-porous-media: Upscale-Relpermffmpeg: H.264 HD To NTSC DVhint: FLOATBare MetalQEMU-KVMVirtualBox 4.3.495.4616.7053.0020.33176.47164.58851.08449116718.5612720.8214358.8614206.9465.863173.167906.529241.613341.186940.069140.782400.5513112918.828238.809.4526.4222.8863.1132.65169.3330.66237.8459.5117.274.7454.7116.55337324419.7385.4915.1826.8032.58246.08165.70640.464054249.8810.7230.7431.23101.2135.5371.8622.2364.3918.635.0055.9117.3566.7977.32135.4075.97123.5573.25140.91109414851.0011129.8312294.4812229.2812.360070.165303.886260.098793.369960.00032544.379330.011421906.829317.3924.0643.7437.43103.6647.5367.463.10115.69453.5626.216.5484.8123.40325069466.83OpenBenchmarking.org

AIO-Stress

Test: Random Write

OpenBenchmarking.orgMB/s, More Is BetterAIO-Stress 0.21Test: Random WriteBare MetalQEMU-KVMVirtualBox 4.3.420406080100SE +/- 5.71, N = 6SE +/- 19.80, N = 6SE +/- 5.56, N = 695.4685.4966.791. (CC) gcc options: -pthread -laio

FS-Mark

Test: 1000 Files, 1MB Size

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeBare MetalQEMU-KVMVirtualBox 4.3.420406080100SE +/- 0.12, N = 3SE +/- 0.23, N = 4SE +/- 1.12, N = 516.7015.1877.321. (CC) gcc options: -static

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsBare MetalQEMU-KVMVirtualBox 4.3.4306090120150SE +/- 1.22, N = 6SE +/- 0.23, N = 3SE +/- 1.41, N = 353.0026.80135.401. (CC) gcc options: -static

FS-Mark

Test: 4000 Files, 32 Sub Dirs, 1MB Size

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeBare MetalQEMU-KVMVirtualBox 4.3.420406080100SE +/- 0.07, N = 3SE +/- 3.42, N = 6SE +/- 0.38, N = 320.3332.5875.971. (CC) gcc options: -static

Compile Bench

Test: Compile

OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: CompileBare MetalQEMU-KVMVirtualBox 4.3.450100150200250SE +/- 3.24, N = 3SE +/- 8.56, N = 6SE +/- 0.65, N = 3176.47246.08123.55

Compile Bench

Test: Initial Create

OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateBare MetalQEMU-KVMVirtualBox 4.3.44080120160200SE +/- 5.69, N = 3SE +/- 5.83, N = 3SE +/- 1.00, N = 3164.58165.7073.25

Compile Bench

Test: Read Compiled Tree

OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Read Compiled TreeBare MetalQEMU-KVMVirtualBox 4.3.42004006008001000SE +/- 22.36, N = 3SE +/- 0.67, N = 3SE +/- 0.59, N = 3851.08640.46140.91

PostMark

Disk Transaction Performance

OpenBenchmarking.orgTPS, More Is BetterPostMark 1.51Disk Transaction PerformanceBare MetalQEMU-KVMVirtualBox 4.3.410002000300040005000SE +/- 27.00, N = 3SE +/- 22.00, N = 3SE +/- 1.67, N = 34491405410941. (CC) gcc options: -O3

Stream

Type: Copy

OpenBenchmarking.orgMB/s, More Is BetterStream 2013-01-17Type: CopyBare MetalVirtualBox 4.3.44K8K12K16K20KSE +/- 16.78, N = 10SE +/- 139.13, N = 1016718.5614851.001. (CC) gcc options: -O3 -march=native -fopenmp

Stream

Type: Scale

OpenBenchmarking.orgMB/s, More Is BetterStream 2013-01-17Type: ScaleBare MetalVirtualBox 4.3.43K6K9K12K15KSE +/- 4.28, N = 10SE +/- 159.30, N = 912720.8211129.831. (CC) gcc options: -O3 -march=native -fopenmp

Stream

Type: Triad

OpenBenchmarking.orgMB/s, More Is BetterStream 2013-01-17Type: TriadBare MetalVirtualBox 4.3.43K6K9K12K15KSE +/- 4.94, N = 9SE +/- 123.24, N = 914358.8612294.481. (CC) gcc options: -O3 -march=native -fopenmp

Stream

Type: Add

OpenBenchmarking.orgMB/s, More Is BetterStream 2013-01-17Type: AddBare MetalVirtualBox 4.3.43K6K9K12K15KSE +/- 6.24, N = 8SE +/- 114.11, N = 814206.9412229.281. (CC) gcc options: -O3 -march=native -fopenmp

HPC Challenge

Test / Class: G-HPL

OpenBenchmarking.orgGFLOPS, More Is BetterHPC Challenge 1.4.3Test / Class: G-HPLBare MetalVirtualBox 4.3.41530456075SE +/- 0.03, N = 3SE +/- 0.18, N = 365.8612.361. (CC) gcc options: -lblas -lm -pthread -lmpi -lopen-rte -lopen-pal -ldl -lnsl -lutil -fomit-frame-pointer -O3 -march=native -funroll-loops 2. BLAS + Open MPI 1.4.5

HPC Challenge

Test / Class: G-Ffte

OpenBenchmarking.orgGFLOPS, More Is BetterHPC Challenge 1.4.3Test / Class: G-FfteBare MetalVirtualBox 4.3.40.71281.42562.13842.85123.564SE +/- 0.00238, N = 3SE +/- 0.00346, N = 33.167900.165301. (CC) gcc options: -lblas -lm -pthread -lmpi -lopen-rte -lopen-pal -ldl -lnsl -lutil -fomit-frame-pointer -O3 -march=native -funroll-loops 2. BLAS + Open MPI 1.4.5

HPC Challenge

Test / Class: EP-DGEMM

OpenBenchmarking.orgGFLOPS, More Is BetterHPC Challenge 1.4.3Test / Class: EP-DGEMMBare MetalVirtualBox 4.3.4246810SE +/- 0.00135, N = 3SE +/- 0.02271, N = 36.529243.886261. (CC) gcc options: -lblas -lm -pthread -lmpi -lopen-rte -lopen-pal -ldl -lnsl -lutil -fomit-frame-pointer -O3 -march=native -funroll-loops 2. BLAS + Open MPI 1.4.5

HPC Challenge

Test / Class: G-Ptrans

OpenBenchmarking.orgGB/s, More Is BetterHPC Challenge 1.4.3Test / Class: G-PtransBare MetalVirtualBox 4.3.40.3630.7261.0891.4521.815SE +/- 0.00044, N = 3SE +/- 0.00179, N = 31.613340.098791. (CC) gcc options: -lblas -lm -pthread -lmpi -lopen-rte -lopen-pal -ldl -lnsl -lutil -fomit-frame-pointer -O3 -march=native -funroll-loops 2. BLAS + Open MPI 1.4.5

HPC Challenge

Test / Class: EP-STREAM Triad

OpenBenchmarking.orgGB/s, More Is BetterHPC Challenge 1.4.3Test / Class: EP-STREAM TriadBare MetalVirtualBox 4.3.40.75821.51642.27463.03283.791SE +/- 0.00268, N = 3SE +/- 0.20414, N = 31.186943.369961. (CC) gcc options: -lblas -lm -pthread -lmpi -lopen-rte -lopen-pal -ldl -lnsl -lutil -fomit-frame-pointer -O3 -march=native -funroll-loops 2. BLAS + Open MPI 1.4.5

HPC Challenge

Test / Class: G-Random Access

OpenBenchmarking.orgGUP/s, More Is BetterHPC Challenge 1.4.3Test / Class: G-Random AccessBare MetalVirtualBox 4.3.40.01560.03120.04680.06240.078SE +/- 0.00014, N = 3SE +/- 0.00000, N = 30.069140.000321. (CC) gcc options: -lblas -lm -pthread -lmpi -lopen-rte -lopen-pal -ldl -lnsl -lutil -fomit-frame-pointer -O3 -march=native -funroll-loops 2. BLAS + Open MPI 1.4.5

HPC Challenge

Test / Class: Random Ring Latency

OpenBenchmarking.orgusecs, Fewer Is BetterHPC Challenge 1.4.3Test / Class: Random Ring LatencyBare MetalVirtualBox 4.3.4120240360480600SE +/- 0.00637, N = 3SE +/- 11.75797, N = 30.78240544.379331. (CC) gcc options: -lblas -lm -pthread -lmpi -lopen-rte -lopen-pal -ldl -lnsl -lutil -fomit-frame-pointer -O3 -march=native -funroll-loops 2. BLAS + Open MPI 1.4.5

HPC Challenge

Test / Class: Random Ring Bandwidth

OpenBenchmarking.orgGB/s, More Is BetterHPC Challenge 1.4.3Test / Class: Random Ring BandwidthBare MetalVirtualBox 4.3.40.1240.2480.3720.4960.62SE +/- 0.00142, N = 3SE +/- 0.00027, N = 30.551310.011421. (CC) gcc options: -lblas -lm -pthread -lmpi -lopen-rte -lopen-pal -ldl -lnsl -lutil -fomit-frame-pointer -O3 -march=native -funroll-loops 2. BLAS + Open MPI 1.4.5

HPC Challenge

Test / Class: Max Ping Pong Bandwidth

OpenBenchmarking.orgMB/s, More Is BetterHPC Challenge 1.4.3Test / Class: Max Ping Pong BandwidthBare MetalVirtualBox 4.3.43K6K9K12K15KSE +/- 13.28, N = 3SE +/- 119.70, N = 312918.831906.831. (CC) gcc options: -lblas -lm -pthread -lmpi -lopen-rte -lopen-pal -ldl -lnsl -lutil -fomit-frame-pointer -O3 -march=native -funroll-loops 2. BLAS + Open MPI 1.4.5

Parboil

Test: OpenMP LBM

OpenBenchmarking.orgSeconds, Fewer Is BetterParboil 2.5Test: OpenMP LBMBare MetalQEMU-KVMVirtualBox 4.3.470140210280350SE +/- 0.13, N = 3SE +/- 0.34, N = 3SE +/- 0.29, N = 3238.80249.88317.391. (CXX) g++ options: -lm -lpthread -lgomp -ffast-math -fopenmp

Parboil

Test: OpenMP CUTCP

OpenBenchmarking.orgSeconds, Fewer Is BetterParboil 2.5Test: OpenMP CUTCPBare MetalQEMU-KVMVirtualBox 4.3.4612182430SE +/- 0.04, N = 3SE +/- 0.18, N = 3SE +/- 0.21, N = 39.4510.7224.061. (CXX) g++ options: -lm -lpthread -lgomp -ffast-math -fopenmp

Parboil

Test: OpenMP Stencil

OpenBenchmarking.orgSeconds, Fewer Is BetterParboil 2.5Test: OpenMP StencilBare MetalQEMU-KVMVirtualBox 4.3.41020304050SE +/- 0.01, N = 3SE +/- 0.47, N = 5SE +/- 0.21, N = 326.4230.7443.741. (CXX) g++ options: -lm -lpthread -lgomp -ffast-math -fopenmp

Rodinia

Test: OpenMP Leukocyte

OpenBenchmarking.orgSeconds, Fewer Is BetterRodinia 2.4Test: OpenMP LeukocyteBare MetalQEMU-KVMVirtualBox 4.3.4918273645SE +/- 0.06, N = 3SE +/- 2.40, N = 6SE +/- 0.15, N = 322.8831.2337.431. (CXX) g++ options: -O2 -lOpenCL

Rodinia

Test: OpenMP CFD Solver

OpenBenchmarking.orgSeconds, Fewer Is BetterRodinia 2.4Test: OpenMP CFD SolverBare MetalQEMU-KVMVirtualBox 4.3.420406080100SE +/- 0.08, N = 3SE +/- 19.11, N = 6SE +/- 0.30, N = 363.11101.21103.661. (CXX) g++ options: -O2 -lOpenCL

Rodinia

Test: OpenMP Streamcluster

OpenBenchmarking.orgSeconds, Fewer Is BetterRodinia 2.4Test: OpenMP StreamclusterBare MetalQEMU-KVMVirtualBox 4.3.41122334455SE +/- 0.02, N = 3SE +/- 0.17, N = 3SE +/- 0.05, N = 332.6535.5347.531. (CXX) g++ options: -O2 -lOpenCL

TTSIOD 3D Renderer

Phong Rendering With Soft-Shadow Mapping

OpenBenchmarking.orgFPS, More Is BetterTTSIOD 3D Renderer 2.2zPhong Rendering With Soft-Shadow MappingBare MetalQEMU-KVMVirtualBox 4.3.44080120160200SE +/- 0.26, N = 3SE +/- 0.23, N = 3SE +/- 0.18, N = 3169.3371.8667.461. (CXX) g++ options: -O3 -fomit-frame-pointer -ffast-math -mtune=native -flto -msse -mrecip -mfpmath=sse -msse2 -mssse3 -lSDL -lstdc++

VP8 libvpx Encoding

vpxenc

OpenBenchmarking.orgFrames Per Second, More Is BetterVP8 libvpx Encoding 1.1.0vpxencBare MetalQEMU-KVMVirtualBox 4.3.4714212835SE +/- 0.14, N = 3SE +/- 0.57, N = 6SE +/- 0.03, N = 330.6622.233.101. (CC) gcc options: -m64 -lvpx -lm -lpthread -fomit-frame-pointer -O3

x264

H.264 Video Encoding

OpenBenchmarking.orgFrames Per Second, More Is Betterx264 2013-06-08H.264 Video EncodingBare MetalVirtualBox 4.3.450100150200250SE +/- 1.57, N = 5SE +/- 1.46, N = 10237.84115.691. (CC) gcc options: -ldl -m64 -lm -lpthread -O3 -ffast-math -std=gnu99 -fomit-frame-pointer -fno-tree-vectorize

Timed Linux Kernel Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed Linux Kernel Compilation 3.1Time To CompileBare MetalQEMU-KVMVirtualBox 4.3.4100200300400500SE +/- 0.65, N = 3SE +/- 0.60, N = 3SE +/- 1.62, N = 359.5164.39453.56

C-Ray

Total Time

OpenBenchmarking.orgSeconds, Fewer Is BetterC-Ray 1.1Total TimeBare MetalQEMU-KVMVirtualBox 4.3.4612182430SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.17, N = 317.2718.6326.211. (CC) gcc options: -lm -lpthread -O3

Parallel BZIP2 Compression

256MB File Compression

OpenBenchmarking.orgSeconds, Fewer Is BetterParallel BZIP2 Compression 1.1.6256MB File CompressionBare MetalQEMU-KVMVirtualBox 4.3.4246810SE +/- 0.04, N = 3SE +/- 0.04, N = 3SE +/- 0.03, N = 34.745.006.541. (CXX) g++ options: -O2 -pthread -lbz2 -lpthread

Open Porous Media

OPM Benchmark: Upscale-Relperm

OpenBenchmarking.orgSeconds, Fewer Is BetterOpen Porous Media 2013-11-26OPM Benchmark: Upscale-RelpermBare MetalQEMU-KVMVirtualBox 4.3.420406080100SE +/- 0.19, N = 3SE +/- 0.23, N = 3SE +/- 0.46, N = 354.7155.9184.811. (F9X) gfortran options: -rdynamic

FFmpeg

H.264 HD To NTSC DV

OpenBenchmarking.orgSeconds, Fewer Is BetterFFmpeg 2.0H.264 HD To NTSC DVBare MetalQEMU-KVMVirtualBox 4.3.4612182430SE +/- 0.24, N = 3SE +/- 0.25, N = 3SE +/- 0.17, N = 316.5517.3523.40-lasound -lSDL-lasound -lSDL1. (CC) gcc options: -lavdevice -lavfilter -lavformat -lavcodec -lswresample -lswscale -lavutil -ldl -lm -pthread -std=c99 -fomit-frame-pointer -O3 -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -MMD -MF -MT

Hierarchical INTegration

Test: FLOAT

OpenBenchmarking.orgQUIPs, More Is BetterHierarchical INTegration 1.0Test: FLOATBare MetalVirtualBox 4.3.470M140M210M280M350MSE +/- 396683.40, N = 3SE +/- 600931.89, N = 3337324419.73325069466.831. (CC) gcc options: -O3 -march=native -lm


Phoronix Test Suite v10.8.4