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.
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.
help! Thanks
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.