VMware Cloud Community
jahos_
Enthusiast
Enthusiast

vCPU to pCPU ratio with hyperthreading

Hello,

I am looking for more information/best practices on hyperthreading and vCPU to pCPU allocation.

For a Citrix Xenapp environment, VMware (and also Citrix) best practices state that one should start with creating a baseline with 1:1 vCPU-pCPU ratio. This is in a situation where hyperthreading is not enabled. I fully agree with this. But what happens when hyperthreading is enabled?

Enabling hyperthreading allows a physical core to behave like 2 logical cores, but it is known that depending on the workload type a performance improvement could be expected of 20 to 30% (could be more also, but it will not double performance).

The performance improvement is limited because the total computational resource is still capped by a single physical processor.

For example: a dual quad-core host will have 8 physical cores. Enabling hyperthreading will show 16 logical cores.

Without hyperthreading I would place two 4-vCPU Citrix Xenapp servers on the host.

But what with hyperthreading enabled? How should I calculate the amount of Citrix servers?

Still 1:1 ratio (taking in to account only the physical cores) or 2:1 (all logical cores) or something in between (1.5:1)

regards,

Jan

Tags (1)
0 Kudos
4 Replies
Najd
Contributor
Contributor

Not sure i understood what exactly you want to know but if you want information about Hyperthreading here you go :

VMware vSphere 4 - ESX and vCenter Server

and if you need more info about calculating core per cpu :

VMware KB: Setting the number of cores per CPU in a virtual machine

Hope that helps

0 Kudos
weinstein5
Immortal
Immortal

Welcome to the Community - VMware for most common workloads you would treat a HT like you would a core - using 8-10 vCPUs per core a dual quad core with hyperthreading enabled will allow you 8-10 per HT or a total of 128-160 vCPUs - no in terms of the Citrix servers will all depend on their loads -


If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful
0 Kudos
jahos_
Enthusiast
Enthusiast

Thanks for your answer Weinstein5.

You are using a 8:1 ratio. Although I think this is quite high, it might be possible for normal or low workloads. What I understand from your answer is that I can use all logical CPU's when calculating the number of vCPU's, even when HT only improves performance with only 30%.

0 Kudos
JimKnopf99
Commander
Commander

Hi,

it all depends on your workload. 4:1 or 8:1. All is possible like weinstein5 told you.

If you are running a 1:1 Ratio you are fine anyway. But i recomend to do some testing. Add some more Citrix VM´s with multiple vCPU´s and go to a higher Ratio and Monitor the CPU load average and Ready value.

VMware KB: Troubleshooting ESX/ESXi virtual machine performance issues

Frank

If you find this information useful, please award points for "correct" or "helpful".
0 Kudos