by on July 17, 2013, in

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

Benchmark Old PC
Core2 Duo E4600
2.4 GHz
2 cores, no HT
New laptop
Core i7-3520M
2.9 GHz
2 cores + HT
VDI – Westmere
Xeon X5690
3.47 GHz
2 vCPUs
VDI – Westmere
Xeon X5690
3.47 GHz
4 vCPUs
VDI – Sandy Bridge
Xeon E5-2670
2.6 GHz
2 vCPUs
VDI – Sandy Bridge
Xeon E5-2670
2.6 GHz
4 vCPUs
NovaBench
>> more is better
226 455 283 451 261 417
Cinebench
>> more is better
1.22 3.33 2.14 4.28 2.20 4.42
SunSpider
<< less is better
5726 2920 3301 3256 3865 3760
Super Pi
<< less is better
25.9 10.9 12.6 12.2 13.2 13.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.

Previous Article Remarks on Windows Disk and File IO During System Boot
Next Article How-to: XenApp/RDS Sizing and Capacity Planning with uberAgent for Splunk