Hyper-V CPU Musings

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***

Leave a Reply

Your email address will not be published. Required fields are marked *