Evaluation of ESX Server Under CPU Intensive
Workloads
Terry Wilcox
Phil Windley, PhD
{terryw, windley}@cs.byu.edu
Computer Science Department, Brigham Young University
Executive Summary
Virtual machines are used by IT departments to provide better hardware utilization and to
isolate users and programs from each other. We explore how configuration changes affect
the throughput of virtual machines hosted on ESX Server during CPU intensive
workloads. In particular we explore how Hyper-Threading, Virtual SMP, and the amount
of RAM allocated affect throughput.
Hyper-Threading is Intel’s implementation of simultaneous multithreading technology
and was introduced with the Xeon processor. Virtual SMP allows ESX Server to host
virtual machines with two virtual processors.
Our tests were run on two Dell 6650 quad processor 2.20 GHz Xeon servers with 16GB
of RAM, a Gigabit Ethernet NIC, and a 1.3 TB SAN. Our benchmarks were run on Linux
kernel 2.4.21-15.ELsmp and compiled by gcc 3.2.3 unless specifically stated otherwise.
We used SPEC’s cpu2000 benchmark suite to obtain our results. No attempt was made to
optimize the benchmarks for the virtual machines and default settings were used in all
cases. Unused virtual machines were suspended before each test. Each benchmark was
run five times to ensure that the results were consistent and repeatable. We used the
RDTSC instruction to time the benchmarks.
The table below summarizes our benchmark test cases.
Test Cases
Description
Scalability
Hyper-Threading, 1 CPU
This compares throughput of one CPU virtual machines with
Hyper-Threading both enabled and disabled.
Hyper-Threading, 2 CPUs This compares the throughput of two CPU virtual machines
with Hyper-Threading both enabled and disabled.
1 CPU vs. 2 CPUs
This compares the throughput of one and two CPU virtual
machines.
Resource Allocation
Memory Subsystem
This tracks throughput as the amount of RAM allocated to a
virtual machine increases.
Table 1 - Summary of benchmark test cases.