After a recent report by Project VRC showing that VMware vSphere 4.0 performs poorly when virtualizing the Terminal Services workload on Intel Nehalem processors when Hyper-Threading is enabled, the good folk at VMware have rushed out a patch. To quote:

“It took us some time to understand the reason for these results, but we eventually identified a very specific condition where ESX’s scheduler enforces fairness in scheduling vCPUs at at cost of throughput. ESX’s scheduler has long be subject of the intensive scrutiny of a large number of VMware engineers to guarantee fair access to the processor for each virtual machine. It is because of this fairness that VMware’s customers can rely on CPU resource controls. But, when fairness goes too far, throughput may be sub-optimal.”

Of course, they could simply have looked at the source at to find a better way of managing thread scheduling for HT, and indeed to improve their performance generally, but I’m delighted that they are slowly figuring it out.

The importance of this patch cannot be understated. The specific need for a patch is neither here nor there – every vendor will occasionally need to deliver patches to correct issues in the field (That said, VMware historically has issued a vast number of patches for its product – in the hundreds for ESX 3.5). No, the key point is that an independent benchmark produced by Project VRC showed the performance issue, and that VMware rushed a patch out in response, and into test at VRC, to avoid any negative PR. As far as I can tell, this is a tacit admission on the part of VMware that they don’t have the final say on benchmarking, and that an independently credible third party can add huge value to the benchmarking and performance debate, purely because of its independence.

It’s interesting too that VMware acknowledges performance issues for Terminal Services workloads only. In fact, vSphere 4.0 dramatically under-performs on virtual desktop density in comparison to the free XenServer, also using the Project VRC test suite. This makes many of VMware’s claims related to the benefits of memory over booking and common code page sharing ring a tad hollow. We are ready to publish the results. What do you think our chances are of getting permission to do so?