Skip to content

CPU performance benchmarks

UnixBench is a common tool used to test and compare the performance of VMs provided by different vendors. The purpose of UnixBench is to provide a basic indicator of the performance of a Unix-like system; hence, multiple tests are used to test various aspects of the system's performance. These test results are then compared to the scores from a baseline system to produce an index value, which is generally easier to handle than the raw scores. UnixBench tests consist of two parts: single-process tests and multi-process tests. UnixBench consists of a number of individual tests that are targeted at specific areas. The detailed information for each individual tests are available at this GitHub project.

In order to validate the performance of VMs running on Sunlight platform, UnixBench is selected to measure and compare the operating system running as VM against on bare-metal machine directly. The results will depend not only on your hardware, but on your operating system, libraries, and even compiler. Thus, the same hardware and operating system is used for the tests in the two setups: (1) the operating system is running on the bare-metal machine; (2) the operating system is running on a VM provisioned by the Sunlight platform, which is running on the bare-metal machine.

A number of different individual tests are selected to run on both setups to provide a comprehensive evaluation, with particular focus about the CPU performance.

Benchmarking results

The same Linux kernel (4.15.0-45-generic) has been used on different setups.

Individual Test Bare Metal KVM Sunlight NexVisor
Dhrystone 2 using register variables 3266.4 3252.6 3118
Double-Precision Whetstone 837.1 853.4 871.3
Execl Throughput 1168.6 997.7 1177.1
File Copy 1024 bufsize 2000 maxblocks 1579.7 1633 1941.8
File Copy 256 bufsize 500 maxblocks 989.1 1003.7 1219.6
File Copy 4096 bufsize 8000 maxblocks 2936.3 2848.4 3338
Pipe Throughput 661.9 667.4 833.5
Pipe-based Context Switching 322.9 511.1 578.9
Process Creation 189 883.7 1145.9
Shell Scripts (1 concurrent) 806.7 2004.5 2283.1
Shell Scripts (8 concurrent) 3340.2 1861 2119.6
System Call Overhead 337.7 329.2 498.8