Enabling SMT on PowerKVM guests
cascardo 270004QWJX Visits (11231)
By: Thadeu Cascardo.
The new PowerKVM feature available with IBM
In order to configure a KVM Guest, the number of VCPUs on a guest must be set to the product of cores and threads per core assigned to the guest, and the number of threads per core must be explictly set. For example, to limit a guest to SMT=4, when using libvirt, one can configure a guest with the following settings in order to get a guest with SMT=4 and 2 cores:
With that configuration, a guest OS will be able to enable SMT=4 and use the 8 threads across the assigned two cores. A configuration using only 2 VCPUs and no specified topology would use the same physical resources, but would not be able to exploit SMT, being restricted to only 2 threads, one in each core.
For the recommended configuration for a guest running a Linux operating system enabled for POWER8 (for example, Ubuntu 14.04, RHEL 7 beta, and the SLES 12 beta), we would recommend defining the guest to SMT=8, and assigning the desired number of processor cores. The guest OS can then dynamically limit the SMT modes with the ppc64_cpu command as desired.
In a future article, we will discuss the new capabilities of a POWER8 core to support micro-threading mode.