VCP-DCV6: "To Hyperthread or Not to Hyperthread.....That is My Question".
-
I have just begun watching the VCP-DCV6 training videos and in part one of the "Installing the Hypervisor", Don mentions that hyperthreading should "not" be enabled in the BIOS of your ESXi host servers. I understood his explanation, but have yet to find anything that corroborates those sentiments.
I even contacted VMware today and got this in response:
**Hi Mike,
Greetings!
I am Namratha and am assuming the ownership of the service request ############
**Based on the case description I understand that you want to verify if ESXi 5.5 needs hyperthreading enabled. (He misunderstood my question regarding the "needing" part)
VMware recommends hyperthreading to be kept enabled on the host, because it can increase performance by better utilizing idle resources leading to greater throughput for certain important workload types.
Kindly refer the following link for more information regarding hyperthreading:
https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.resmgmt.doc/GUID-FD71CBCA-E97C-4EFA-8A1B-32C09D5DF2A1.htmlWe haven't received any cases till now where there was erroneous performance because hyperthreading was enabled.
**If you have any documentation stating the above, I would request you to kindly share it with me so that I can look into it.
I hope I have answered your queries.
Please feel free to contact me in case of any further clarifications.******
The article that Don links to referencing the "no hyperthreading" recommendation is from 2013. Perhaps this is no longer an issue with more modern processors? Doesn't this KB link state that you should be careful using "CPU Affinity" when hyperthreading is enabled? That's a very specific configuration, not a default one...."right?"
Perhaps I misunderstood Don and he meant to only disable hyperthreading on older CPUs.
Thanks!
UPDATE: I received an update from VMware referencing the KB article that Don linked to in the "Installation of Hypervisor pt. 1" course.
**Hi Mike,
Thank you for the update.
I looked into that article you sent, and as you said this is if you set the CPU affinity in an incorrect manner, thereby overburdening one core and leading to resource contention.**
Under normal circumstances, enabling hyperthreading shouldnt cause any such issues.
Please let me know if you have any further queries.
-
Don replied...
"Both statements are correct:
Hyperthreading will improve performance, so you should leave it on.
Hyperthreading will invalidate performance reporting, so you should turn it off.VMware has gone on record as saying both. It is up to the end user to determine which they prefer, or which one their use-case requires. In most production scenarios I turn it off. In testing and lab I leave it on, unless I am doing performance testing in which case I turn it off. "
Don Pezet
Co-founder and Edutainer
(352) 600-6913 -
Thank you for your quick reply, So you are saying that irrespective of whether CPU Affinity is being used on ESXi hosts or not, that if hyperthreading is enabled in the ESXi host BIOS, you will not get accurate performance readings (from within VCenter)?
The KB article seemed to state the occurrence of inaccurate performance metrics was only applicable when CPU Affinity is being applied to the VM(s). That was verified by the VMware tech I contacted today (who I will "assume" knows what he's talking about, but you never know).
I'm not trying to be obstinate, I'm just getting confusing information from multiple sources and want to make sure I'm understanding this topic as clearly as possible. The only documentation that supports your claim "seems" to only apply to VMs using CPU Affinity and was written in 2013.
Thanks again!
-
"Bueller.......Bueller.....Buelller....."
-
I've forwarded this to Don and he'll reply but it's a busy week for us. Thanks for being patient!