You can use a formula to calculate the full CPU reservation for vHT.
For a low latency VM without vHT, each vCPU of the VM has exclusively affinity to a thread of the physical core. For hosts with Hyperthreading activated, the partner hyperthread has exclusive affinity to an idle world. Each vCPU of a low latency VM is allocated a dedicated physical core.
The CPU reservation for low latency VM is computed as:
Low latency VM (without vHT) CPU minimum reservation = numVcpus * cpuFrequency
However, when vHT is activated for a VM, each hypertwin of the physical core is shared between multiple vCPUs of the VM where each hypertwin has exclusive affinity to a vCPU of the VM. This means a core with numSMT physical hyperthreads is shared by numSMT virtual threads. In this case, the CPU reservation requirement would be computed as:
Low latency VM (with vHT) CPU minimum reservation = (numVcpus / numSMT) * cpuFrequency
numSMT = 1(without vHT) | numSMT = 2(with vHT) | |
---|---|---|
numVcpus | 20 | 20 |
number of Physical cores | 20 | 10 (each core shared by 2 vCPUs) |
Required minimum CPU reservation | 20 * 2.0 GHz = 40 GHz | (20/2) * 2.0 GHz = 20 GHz |