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 Virt Processor Motherboard Chipset Memory Disk Graphics Audio Monitor Network OS Kernel Desktop Display Server Display Driver OpenGL Compiler File-System Screen Resolution System Layer Bare Metal QEMU-KVM VirtualBox 4.3.4 Intel Core i7-4960X @ 3.60GHz (12 Cores) MSI X79MA-GD45 (MS-7738) v1.0 Intel Xeon E5 v2/Core 8192MB 1000GB Seagate ST1000DX001-1CM1 Sapphire AMD Radeon HD 4870 512MB Realtek ALC892 DELL S2409W Realtek RTL8111/8168/8411 Ubuntu 14.04 3.12.0-7-generic (x86_64) Unity 7.1.2 X Server 1.14.4 radeon 7.2.0 3.1 Mesa 10.0.0 Gallium 0.4 GCC 4.8 ext4 1920x1080 QEMU Virtual 1.7.0 @ 3.60GHz (12 Cores) Bochs Intel 440FX- 82441FX PMC 6144MB 81GB LLVMpipe Generic 1af4 ID 22 Red Hat Virtio device cirrus 1.5.2 2.1 Mesa 10.0.0 Gallium 0.4 1024x768 QEMU 1.7.0 Intel Core i7-4960X @ 3.59GHz (12 Cores) Oracle VirtualBox v1.2 94GB VBOX HDD Intel 82801AA AC 97 Audio Intel 82540EM Gigabit modesetting 0.8.1 VirtualBox OpenBenchmarking.org Compiler 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,rw Processor Details - Bare Metal: Scaling Governor: acpi-cpufreq ondemand System 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 Virt aio-stress: Rand Write fs-mark: 1000 Files, 1MB Size fs-mark: 5000 Files, 1MB Size, 4 Threads fs-mark: 4000 Files, 32 Sub Dirs, 1MB Size compilebench: Compile compilebench: Initial Create compilebench: Read Compiled Tree postmark: Disk Transaction Performance stream: Copy stream: Scale stream: Triad stream: Add hpcc: G-HPL hpcc: G-Ffte hpcc: EP-DGEMM hpcc: G-Ptrans hpcc: EP-STREAM Triad hpcc: G-Rand Access hpcc: Rand Ring Latency hpcc: Rand Ring Bandwidth hpcc: Max Ping Pong Bandwidth parboil: OpenMP LBM parboil: OpenMP CUTCP parboil: OpenMP Stencil rodinia: OpenMP Leukocyte rodinia: OpenMP CFD Solver rodinia: OpenMP Streamcluster ttsiod-renderer: Phong Rendering With Soft-Shadow Mapping vpxenc: vpxenc x264: H.264 Video Encoding build-linux-kernel: Time To Compile c-ray: Total Time compress-pbzip2: 256MB File Compression open-porous-media: Upscale-Relperm ffmpeg: H.264 HD To NTSC DV hint: FLOAT Bare Metal QEMU-KVM VirtualBox 4.3.4 95.46 16.70 53.00 20.33 176.47 164.58 851.08 4491 16718.56 12720.82 14358.86 14206.94 65.86317 3.16790 6.52924 1.61334 1.18694 0.06914 0.78240 0.55131 12918.828 238.80 9.45 26.42 22.88 63.11 32.65 169.33 30.66 237.84 59.51 17.27 4.74 54.71 16.55 337324419.73 85.49 15.18 26.80 32.58 246.08 165.70 640.46 4054 249.88 10.72 30.74 31.23 101.21 35.53 71.86 22.23 64.39 18.63 5.00 55.91 17.35 66.79 77.32 135.40 75.97 123.55 73.25 140.91 1094 14851.00 11129.83 12294.48 12229.28 12.36007 0.16530 3.88626 0.09879 3.36996 0.00032 544.37933 0.01142 1906.829 317.39 24.06 43.74 37.43 103.66 47.53 67.46 3.10 115.69 453.56 26.21 6.54 84.81 23.40 325069466.83 OpenBenchmarking.org
AIO-Stress Test: Random Write OpenBenchmarking.org MB/s, More Is Better AIO-Stress 0.21 Test: Random Write Bare Metal QEMU-KVM VirtualBox 4.3.4 20 40 60 80 100 SE +/- 5.71, N = 6 SE +/- 19.80, N = 6 SE +/- 5.56, N = 6 95.46 85.49 66.79 1. (CC) gcc options: -pthread -laio
FS-Mark Test: 1000 Files, 1MB Size OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 1000 Files, 1MB Size Bare Metal QEMU-KVM VirtualBox 4.3.4 20 40 60 80 100 SE +/- 0.12, N = 3 SE +/- 0.23, N = 4 SE +/- 1.12, N = 5 16.70 15.18 77.32 1. (CC) gcc options: -static
FS-Mark Test: 5000 Files, 1MB Size, 4 Threads OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 5000 Files, 1MB Size, 4 Threads Bare Metal QEMU-KVM VirtualBox 4.3.4 30 60 90 120 150 SE +/- 1.22, N = 6 SE +/- 0.23, N = 3 SE +/- 1.41, N = 3 53.00 26.80 135.40 1. (CC) gcc options: -static
FS-Mark Test: 4000 Files, 32 Sub Dirs, 1MB Size OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 4000 Files, 32 Sub Dirs, 1MB Size Bare Metal QEMU-KVM VirtualBox 4.3.4 20 40 60 80 100 SE +/- 0.07, N = 3 SE +/- 3.42, N = 6 SE +/- 0.38, N = 3 20.33 32.58 75.97 1. (CC) gcc options: -static
Compile Bench Test: Compile OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Compile Bare Metal QEMU-KVM VirtualBox 4.3.4 50 100 150 200 250 SE +/- 3.24, N = 3 SE +/- 8.56, N = 6 SE +/- 0.65, N = 3 176.47 246.08 123.55
Compile Bench Test: Initial Create OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Initial Create Bare Metal QEMU-KVM VirtualBox 4.3.4 40 80 120 160 200 SE +/- 5.69, N = 3 SE +/- 5.83, N = 3 SE +/- 1.00, N = 3 164.58 165.70 73.25
Compile Bench Test: Read Compiled Tree OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Read Compiled Tree Bare Metal QEMU-KVM VirtualBox 4.3.4 200 400 600 800 1000 SE +/- 22.36, N = 3 SE +/- 0.67, N = 3 SE +/- 0.59, N = 3 851.08 640.46 140.91
PostMark Disk Transaction Performance OpenBenchmarking.org TPS, More Is Better PostMark 1.51 Disk Transaction Performance Bare Metal QEMU-KVM VirtualBox 4.3.4 1000 2000 3000 4000 5000 SE +/- 27.00, N = 3 SE +/- 22.00, N = 3 SE +/- 1.67, N = 3 4491 4054 1094 1. (CC) gcc options: -O3
Stream Type: Copy OpenBenchmarking.org MB/s, More Is Better Stream 2013-01-17 Type: Copy Bare Metal VirtualBox 4.3.4 4K 8K 12K 16K 20K SE +/- 16.78, N = 10 SE +/- 139.13, N = 10 16718.56 14851.00 1. (CC) gcc options: -O3 -march=native -fopenmp
Stream Type: Scale OpenBenchmarking.org MB/s, More Is Better Stream 2013-01-17 Type: Scale Bare Metal VirtualBox 4.3.4 3K 6K 9K 12K 15K SE +/- 4.28, N = 10 SE +/- 159.30, N = 9 12720.82 11129.83 1. (CC) gcc options: -O3 -march=native -fopenmp
Stream Type: Triad OpenBenchmarking.org MB/s, More Is Better Stream 2013-01-17 Type: Triad Bare Metal VirtualBox 4.3.4 3K 6K 9K 12K 15K SE +/- 4.94, N = 9 SE +/- 123.24, N = 9 14358.86 12294.48 1. (CC) gcc options: -O3 -march=native -fopenmp
Stream Type: Add OpenBenchmarking.org MB/s, More Is Better Stream 2013-01-17 Type: Add Bare Metal VirtualBox 4.3.4 3K 6K 9K 12K 15K SE +/- 6.24, N = 8 SE +/- 114.11, N = 8 14206.94 12229.28 1. (CC) gcc options: -O3 -march=native -fopenmp
HPC Challenge Test / Class: G-HPL OpenBenchmarking.org GFLOPS, More Is Better HPC Challenge 1.4.3 Test / Class: G-HPL Bare Metal VirtualBox 4.3.4 15 30 45 60 75 SE +/- 0.03, N = 3 SE +/- 0.18, N = 3 65.86 12.36 1. (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.org GFLOPS, More Is Better HPC Challenge 1.4.3 Test / Class: G-Ffte Bare Metal VirtualBox 4.3.4 0.7128 1.4256 2.1384 2.8512 3.564 SE +/- 0.00238, N = 3 SE +/- 0.00346, N = 3 3.16790 0.16530 1. (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.org GFLOPS, More Is Better HPC Challenge 1.4.3 Test / Class: EP-DGEMM Bare Metal VirtualBox 4.3.4 2 4 6 8 10 SE +/- 0.00135, N = 3 SE +/- 0.02271, N = 3 6.52924 3.88626 1. (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.org GB/s, More Is Better HPC Challenge 1.4.3 Test / Class: G-Ptrans Bare Metal VirtualBox 4.3.4 0.363 0.726 1.089 1.452 1.815 SE +/- 0.00044, N = 3 SE +/- 0.00179, N = 3 1.61334 0.09879 1. (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.org GB/s, More Is Better HPC Challenge 1.4.3 Test / Class: EP-STREAM Triad Bare Metal VirtualBox 4.3.4 0.7582 1.5164 2.2746 3.0328 3.791 SE +/- 0.00268, N = 3 SE +/- 0.20414, N = 3 1.18694 3.36996 1. (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.org GUP/s, More Is Better HPC Challenge 1.4.3 Test / Class: G-Random Access Bare Metal VirtualBox 4.3.4 0.0156 0.0312 0.0468 0.0624 0.078 SE +/- 0.00014, N = 3 SE +/- 0.00000, N = 3 0.06914 0.00032 1. (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.org usecs, Fewer Is Better HPC Challenge 1.4.3 Test / Class: Random Ring Latency Bare Metal VirtualBox 4.3.4 120 240 360 480 600 SE +/- 0.00637, N = 3 SE +/- 11.75797, N = 3 0.78240 544.37933 1. (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.org GB/s, More Is Better HPC Challenge 1.4.3 Test / Class: Random Ring Bandwidth Bare Metal VirtualBox 4.3.4 0.124 0.248 0.372 0.496 0.62 SE +/- 0.00142, N = 3 SE +/- 0.00027, N = 3 0.55131 0.01142 1. (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.org MB/s, More Is Better HPC Challenge 1.4.3 Test / Class: Max Ping Pong Bandwidth Bare Metal VirtualBox 4.3.4 3K 6K 9K 12K 15K SE +/- 13.28, N = 3 SE +/- 119.70, N = 3 12918.83 1906.83 1. (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.org Seconds, Fewer Is Better Parboil 2.5 Test: OpenMP LBM Bare Metal QEMU-KVM VirtualBox 4.3.4 70 140 210 280 350 SE +/- 0.13, N = 3 SE +/- 0.34, N = 3 SE +/- 0.29, N = 3 238.80 249.88 317.39 1. (CXX) g++ options: -lm -lpthread -lgomp -ffast-math -fopenmp
Parboil Test: OpenMP CUTCP OpenBenchmarking.org Seconds, Fewer Is Better Parboil 2.5 Test: OpenMP CUTCP Bare Metal QEMU-KVM VirtualBox 4.3.4 6 12 18 24 30 SE +/- 0.04, N = 3 SE +/- 0.18, N = 3 SE +/- 0.21, N = 3 9.45 10.72 24.06 1. (CXX) g++ options: -lm -lpthread -lgomp -ffast-math -fopenmp
Parboil Test: OpenMP Stencil OpenBenchmarking.org Seconds, Fewer Is Better Parboil 2.5 Test: OpenMP Stencil Bare Metal QEMU-KVM VirtualBox 4.3.4 10 20 30 40 50 SE +/- 0.01, N = 3 SE +/- 0.47, N = 5 SE +/- 0.21, N = 3 26.42 30.74 43.74 1. (CXX) g++ options: -lm -lpthread -lgomp -ffast-math -fopenmp
Rodinia Test: OpenMP Leukocyte OpenBenchmarking.org Seconds, Fewer Is Better Rodinia 2.4 Test: OpenMP Leukocyte Bare Metal QEMU-KVM VirtualBox 4.3.4 9 18 27 36 45 SE +/- 0.06, N = 3 SE +/- 2.40, N = 6 SE +/- 0.15, N = 3 22.88 31.23 37.43 1. (CXX) g++ options: -O2 -lOpenCL
Rodinia Test: OpenMP CFD Solver OpenBenchmarking.org Seconds, Fewer Is Better Rodinia 2.4 Test: OpenMP CFD Solver Bare Metal QEMU-KVM VirtualBox 4.3.4 20 40 60 80 100 SE +/- 0.08, N = 3 SE +/- 19.11, N = 6 SE +/- 0.30, N = 3 63.11 101.21 103.66 1. (CXX) g++ options: -O2 -lOpenCL
Rodinia Test: OpenMP Streamcluster OpenBenchmarking.org Seconds, Fewer Is Better Rodinia 2.4 Test: OpenMP Streamcluster Bare Metal QEMU-KVM VirtualBox 4.3.4 11 22 33 44 55 SE +/- 0.02, N = 3 SE +/- 0.17, N = 3 SE +/- 0.05, N = 3 32.65 35.53 47.53 1. (CXX) g++ options: -O2 -lOpenCL
TTSIOD 3D Renderer Phong Rendering With Soft-Shadow Mapping OpenBenchmarking.org FPS, More Is Better TTSIOD 3D Renderer 2.2z Phong Rendering With Soft-Shadow Mapping Bare Metal QEMU-KVM VirtualBox 4.3.4 40 80 120 160 200 SE +/- 0.26, N = 3 SE +/- 0.23, N = 3 SE +/- 0.18, N = 3 169.33 71.86 67.46 1. (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.org Frames Per Second, More Is Better VP8 libvpx Encoding 1.1.0 vpxenc Bare Metal QEMU-KVM VirtualBox 4.3.4 7 14 21 28 35 SE +/- 0.14, N = 3 SE +/- 0.57, N = 6 SE +/- 0.03, N = 3 30.66 22.23 3.10 1. (CC) gcc options: -m64 -lvpx -lm -lpthread -fomit-frame-pointer -O3
x264 H.264 Video Encoding OpenBenchmarking.org Frames Per Second, More Is Better x264 2013-06-08 H.264 Video Encoding Bare Metal VirtualBox 4.3.4 50 100 150 200 250 SE +/- 1.57, N = 5 SE +/- 1.46, N = 10 237.84 115.69 1. (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.org Seconds, Fewer Is Better Timed Linux Kernel Compilation 3.1 Time To Compile Bare Metal QEMU-KVM VirtualBox 4.3.4 100 200 300 400 500 SE +/- 0.65, N = 3 SE +/- 0.60, N = 3 SE +/- 1.62, N = 3 59.51 64.39 453.56
C-Ray Total Time OpenBenchmarking.org Seconds, Fewer Is Better C-Ray 1.1 Total Time Bare Metal QEMU-KVM VirtualBox 4.3.4 6 12 18 24 30 SE +/- 0.01, N = 3 SE +/- 0.02, N = 3 SE +/- 0.17, N = 3 17.27 18.63 26.21 1. (CC) gcc options: -lm -lpthread -O3
Parallel BZIP2 Compression 256MB File Compression OpenBenchmarking.org Seconds, Fewer Is Better Parallel BZIP2 Compression 1.1.6 256MB File Compression Bare Metal QEMU-KVM VirtualBox 4.3.4 2 4 6 8 10 SE +/- 0.04, N = 3 SE +/- 0.04, N = 3 SE +/- 0.03, N = 3 4.74 5.00 6.54 1. (CXX) g++ options: -O2 -pthread -lbz2 -lpthread
Open Porous Media OPM Benchmark: Upscale-Relperm OpenBenchmarking.org Seconds, Fewer Is Better Open Porous Media 2013-11-26 OPM Benchmark: Upscale-Relperm Bare Metal QEMU-KVM VirtualBox 4.3.4 20 40 60 80 100 SE +/- 0.19, N = 3 SE +/- 0.23, N = 3 SE +/- 0.46, N = 3 54.71 55.91 84.81 1. (F9X) gfortran options: -rdynamic
FFmpeg H.264 HD To NTSC DV OpenBenchmarking.org Seconds, Fewer Is Better FFmpeg 2.0 H.264 HD To NTSC DV Bare Metal QEMU-KVM VirtualBox 4.3.4 6 12 18 24 30 SE +/- 0.24, N = 3 SE +/- 0.25, N = 3 SE +/- 0.17, N = 3 16.55 17.35 23.40 -lasound -lSDL -lasound -lSDL 1. (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.org QUIPs, More Is Better Hierarchical INTegration 1.0 Test: FLOAT Bare Metal VirtualBox 4.3.4 70M 140M 210M 280M 350M SE +/- 396683.40, N = 3 SE +/- 600931.89, N = 3 337324419.73 325069466.83 1. (CC) gcc options: -O3 -march=native -lm
Phoronix Test Suite v10.8.4