VMware Cloud Community
Mike_MT
Contributor
Contributor

CPU plan using cores, count HT as bonus?

I'm buying some new servers soon and I want to confirm that I'm planning CPUs, cores, hyperthreading correctly. Basically, I am planning on CPUs and cores for vCPU allocation and I'm counting hyperthreading only as "bonus" processing power. From everything I've read this seems to be the correct, or at least safest way, to plan regarding CPU resources, contention, etc. Is this right?

-Mike

0 Kudos
7 Replies
weinstein5
Immortal
Immortal

I would say that is being overly conservative - you should count the Hyperthreads like you would a core because that is what the ESXi host does -

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

So if I've got a server with 2 8 core CPUs (16 cores total) and with HT enabled vSphere will show 32 CPUs that I can allocate as vCPUs and not worry too much about CPU contention, overcommit, etc.?

0 Kudos
weinstein5
Immortal
Immortal

That is correct -

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

That depends on your workload.  When we were researching Citrix virtualization, the recommendations were to turn off HT so that it would NOT see them as cores.  The issue was with Context Switching, which is enough of a problem in Citrix as it is.  If you are using lower intensity workloads like Domain Controlers, file servers, or possibly even web servers, using the HyperThreads as cores makes sense.  If you are running Exchange or Oracle (or Citrix) then the opposite might be true.

0 Kudos
Mike_MT
Contributor
Contributor

This might be a problem, then. I probably won't have enough hosts to build separate clusters for applications, so there's the chance that I will have file servers, etc. on the same host as Exchange and/or SQL. Not sure what to do now...

0 Kudos
danpalacios
Hot Shot
Hot Shot

I did a little poking around and VMware's base recommendation is to use HT.  (http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.0.pdf)  This should provide extra processor availability, if not extra processing power.

It looks like in almost all scenarios, you are better off with HT turned on.  Just keep an eye on your high performance workloads.  You may have to give them additional vCPU resources if they are not getting enough out of the HT virtual cores.

0 Kudos
weinstein5
Immortal
Immortal

That is correct - think of it this way by enabling HT you are providing the vmkernel more slots for it to schedule the instructions that are being executed by the VM

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