This section provides guidance regarding hyper-threading in VMware Cloud on AWS.
Hyper-threading technology (sometimes also called simultaneous multithreading, or SMT) allows a single physical processor core to behave like two logical processors, essentially allowing two independent threads to run simultaneously. Unlike having twice as many processor cores—that can roughly double performance—hyper-threading can provide anywhere from a slight to a significant increase in system performance by keeping the processor pipeline busier.
Note:Some processor types are subject to a concurrent-context attack vector security vulnerability when hyper-threading is active. VMware Cloud on AWS instances that use these processors are configured to use a special Side-Channel Aware Scheduler (SCAv1) to mitigate the vulnerability. When this scheduler is used, VMware Cloud on AWS will only schedule processes on one thread for each core, potentially reducing CPU capacity for some workloads.
VMC i3en.metal hosts use Cascade Lake processors; these are not subject to this security vulnerability and will thus utilize both hyper-threads on each core for optimum performance.
VMC i3.metal hosts use Broadwell processors; on these hosts hyper-threading is deactivated, potentially limiting performance when a host is close to full CPU utilization.
On a system with hyper-threading activated, VMware Cloud on AWS assigns adjacent CPU numbers to logical processors on the same core. Thus CPUs 0 and 1 are on the first core, CPUs 2 and 3 are on the second core, and so on.
VMware Cloud on AWS manages processor time intelligently to spread load smoothly across all physical cores in the system. If there is no work for a logical processor, it is put into a halted state that frees its execution resources and allows the virtual machine running on the other logical processor on the same core to use the full execution resources of the core.