Hyper-V CPU Musings
Recently I had the opportunity arise where I was able to test a few CPU core configurations on an unused host.
My gold here is to see if a CPU virtualization penalty exists and secondarily to see what effect hyperthreading has on CPU performance in a single VM setting.
Specs of the host: Dual Xeon Gold 6144, 512GB RAM, SSD
HyperV version: Windows 2016 (long term branch)
To start, here are the Cinebench R15 scores before HyperV was installed:
Hyperthreading enabled got a score of 3427 (left) whereas hyperthreading disabled got a score of 2680:
Next, installed Hyper-V, built a VM running the full GUI of 2012R2, fully updated.
First test, hyperthreading disabled, VM has 16 cores assigned:
Nice!! only 2 points off of the physical.
Now, enable hyperthreading at the host level. VM still has 16 cores assigned:
Ouch, 1021 points lower (-38%). Keep in mind all we did was enable hyperthreading on the host. A 38% penalty just in that setting.
Next test, assign 32 cores to the same VM:
Above 3000 again. 191 points off (-5%) the physical install benchmark above.
And just because, 24 cores assigned to the VM:
Here we have 511 points off the physical host (-15%).
Conclusion:
What did I learn? With hyperthreading disabled, there is a virtualization penalty, but it barely registers.
It’s when hyperthreading is enabled that one has to be careful. That large of a hit (-38%) is interesting to say the least.
That being said, with hyperthreading enabled and you assign all available logical cores to the VM, it wasn’t too shabby.
***DISCLAIMER*** I am not responsible for this breaking or damaging any of your stuff. Copyrights belong to their original owners***