Comparing the CPU Performance of Physical and Virtual PCs (VDI)

When you move users from a physical PC to a VDI environment you may find that they are not too happy with their new machine’s performance - it happened to me. To quantify things I took a series of measurements comparing the old PCs we migrated away from with both VDI machines and the new PCs available to some.

Test Procedure

There is no objective CPU benchmark. Depending on the tool you run you will get widely differing results. For that reason I used four very different benchmarking tools. I chose these four for no other reasons than that they were readily available and different in nature:

  • NovaBench 3.0.4 CPU test: Synthetic benchmark tool.
  • CineBench 11.5 CPU: 3D rendering tool turned into a benchmark.
  • SunSpider 1.0 in IE8: Measures JavaScript performance.
  • Super Pi Mod 1.8 WP 1M: Calculates Pi.

Some tools are multi-threaded and take advantage of more than one CPU core while others do not. That is just like in reality. Single-thread performance is still extremely important today, which is why Intel enabled their CPUs to optionally run only one thread at a high speed instead of multiple threads at normal speed (“Turbo Boost”).

All measurements were run twice. The result shown below is the average.

HyperThreading was enabled where available.

The virtualization hosts running the VDI machines were oversubscribed in terms of virtual to physical CPU allocation. The system with the Xeon E5-2670 had an oversubscription ratio of 4:1, the system with the Xeon X5690 had 6:1. The virtualization hosts’ power profile was set to maximum performance. At the default setting (“balanced”) CPU performance is noticeably worse. The virtualization hosts were running VMware ESXi 5.0.

Test Results

BenchmarkOld PC Core2 Duo E4600 2.4 GHz 2 cores, no HTNew laptop Core i7-3520M 2.9 GHz 2 cores + HTVDI - Westmere Xeon X5690 3.47 GHz 2 vCPUsVDI - Westmere Xeon X5690 3.47 GHz 4 vCPUsVDI - Sandy Bridge Xeon E5-2670 2.6 GHz 2 vCPUsVDI - Sandy Bridge Xeon E5-2670 2.6 GHz 4 vCPUs
NovaBench » more is better226455283451261417
Cinebench » more is better1.223.332.144.282.204.42
SunSpider « less is better572629203301325638653760
Super Pi « less is better25.910.912.612.213.213.1

Analysis

We can learn several interesting things from these tests. These conclusions are, of course, only applicable to similar scenarios, so things may be different for you:

VDI vs. old PC: A VDI machine running on Intel’s newest server CPU is not that much faster than a physical PC with a 5.5 year old CPU.

VDI vs. new PC: Even a laptop CPU outperforms the Xeon in nearly all tests. Given that desktop PC CPUs are faster than laptop CPUs it is safe to assume that a VDI machine does not stand a chance against a PC.

Single-thread performance on VDI: As the SunSpider and Super Pi tests show, single-thread performance on a VDI machine is not great.

Xeon Westmere vs. Sandy Bridge: Probably due to its much higher clock speed the older Westmere-EP CPU performs better in most tests than the newer Sandy Bridge-EP CPU (the fastest Sandy Bridge-EP, the E5-2690, might be on par or even better, though).

Closing Thoughts

When moving power users (aka knowledge workers) from a PC to a VDI machine CPU performance is a topic that needs as much attention as IO performance. In your project, do not rely on benchmarks alone - those are always synthetic and may or may not match what you see in reality - but have real humans test the applications they use in the way they use them. I have seen “harmless” Excel sheets turn out to be massive CPU hogs running for hours or even days. Differences in performance were noticed immediately by the users.

Comments

Related Posts

Persistent VDI in the Real World - Storage

Persistent VDI in the Real World - Storage
This is the second article in a multi-part series about building and maintaining an inexpensive scalable platform for VDI in enterprise environments. Previously in this Series I started this series by defining requirements. Without proper requirements, everything else is moot. Remember that we are looking at running typical enterprise desktop workloads, we are trying to centralize desktops and our primary desktop hosting technology is multi-user Windows, aka RDS/XenApp.
Citrix/Terminal Services/Remote Desktop Services

Impact of GPU Acceleration on Browser CPU Usage

Impact of GPU Acceleration on Browser CPU Usage
GPU acceleration is en vogue. After slowly but steadily moving out of the 3D niche it has arrived in the mainstream. Today, applications like Microsoft Office leverage the GPU, but even more so do web browsers. Chrome, Firefox, and Internet Explorer all have hardware acceleration turned on by default. People generally seem to be happy about that - GPUs are super-efficient, the more work they do the fewer remains for the CPU, overall energy consumption is reduced and battery life increases. Or so the myth goes. Interestingly, facts to prove that are hard to find. Nobody seems to have measured how GPU acceleration affects CPU usage. Let’s change that.
Performance/Sizing

Latest Posts

Scripted WordPress to Hugo Migration

Scripted WordPress to Hugo Migration
After having published in WordPress for almost 20 years, it was time for a change. This site is now rendered by Hugo, a static website generator built for Markdown content hosted in a Git repository. The migration from WordPress (HTML) to Hugo (Markdown) was far from trivial. Since I couldn’t find any tool for the job, I developed my own set of migration scripts that fully automate the migration process. You can find them on GitHub along with extensive documentation.
Website