VMware Cloud Community
cianfa72
Enthusiast
Enthusiast
Jump to solution

ESXi 5.5 Hyperthreading (SMT) sharing on NUMA server

Hi,

I'm working with my team on a emulated networking lab running on an ESXi 5.5 dual quad-core Xeon server. Each node is implemented by a 4-way VM instance.

We would try to enable VM Hyperthreading core sharing to Internal (VM settings->Resources->Advannced CPU->Hyperthread core sharing->Internal) in order to allow CPU core sharing just for vcpus belonging to the same VM. Now, related to that, I've the following doubt:

Consider a NUMA based server where NUMA scheduling maps NUMA clients on NUMA home nodes taking in account just the number of CPU cores per node (socket) not including hyperthreading (2x). That means vpcus belonging to the same 4-way VM are assigned to different cores of the same NUMA node (host server has 2 quad-core cpu sockets). If that is true, CPU scheduling can just choose to schedule a VM vcpu on a full or just to an HT logical core but it is not the case vpcus of the same VM are scheduled to run on logical cores (HT logical cores) belonging to the same CPU core.

Now, I believe the only way to have "Internal" Hyperthreading core sharing working, is to set the numa advanced option numa.vcpu.preferHT = TRUE in order to force NUMA scheduler assignment to take in account the number of cores including hyperthreading (SMT logical core) placing VM vcpus (possibly) on HT threads of the same CPU core.

Does it make sense ? Thanks.

0 Kudos
1 Solution

Accepted Solutions
CoolRam
Expert
Expert
Jump to solution

I believe the only way to have "Internal" Hyperthreading core sharing working, is to set the numa advanced option numa.vcpu.preferHT = TRUE in order to force NUMA scheduler assignment to take in account the number of cores including hyperthreading (SMT logical core) placing VM vcpus (possibly) on HT threads of the same CPU core.


This is prefer way of doing the "VM  to use hyper-threading with NUMA." .  Same is refer in the Kb VMware KB: Configure virtual machines to use hyper-threading with NUMA in VMware ESXi 4.1.x / 5.0.x for high interthread communication.

If you find any answer useful. please mark the answer as correct or helpful.

View solution in original post

0 Kudos
2 Replies
cianfa72
Enthusiast
Enthusiast
Jump to solution

help!  Thanks

0 Kudos
CoolRam
Expert
Expert
Jump to solution

I believe the only way to have "Internal" Hyperthreading core sharing working, is to set the numa advanced option numa.vcpu.preferHT = TRUE in order to force NUMA scheduler assignment to take in account the number of cores including hyperthreading (SMT logical core) placing VM vcpus (possibly) on HT threads of the same CPU core.


This is prefer way of doing the "VM  to use hyper-threading with NUMA." .  Same is refer in the Kb VMware KB: Configure virtual machines to use hyper-threading with NUMA in VMware ESXi 4.1.x / 5.0.x for high interthread communication.

If you find any answer useful. please mark the answer as correct or helpful.
0 Kudos