nova/releasenotes/notes/emulator-threads-policy-e5b57767104531b8.yaml
Sahid Orentino Ferdjaoui 9724ec118b libvirt: place emulator threads on CONF.compute.cpu_shared_set
Some workloads run best when the hypervisor overhead processes
(emulator threads in libvirt/QEMU) can be placed on different physical
host CPUs than other guest CPU resources. This allows those workloads
to prevent latency spikes for guest vCPU threads.

To ensure emulator threads are placed on a different set of physical
CPUs than those running guest dedicated vCPUs, set the
``CONF.compute.cpu_shared_set`` configuration option to the set of host
CPUs that should be used for best-effort CPU resources. Then set a
flavor extra spec to ``hw:emulator_threads_policy=share`` to instruct
nova to place that workload's emulator threads on that set of host CPUs.

implement: bp/overhead-pin-set
Signed-off-by: Sahid Orentino Ferdjaoui <sahid.ferdjaoui@redhat.com>
Change-Id: I0e63ab37d584ee3d7fde6553efaa61bfc866e67d
2018-05-18 08:52:25 +00:00

15 lines
746 B
YAML

---
features:
- |
Introduces ``[compute]/cpu_shared_set`` option for compute nodes.
Some workloads run best when the hypervisor overhead processes
(emulator threads in libvirt/QEMU) can be placed on different
physical host CPUs than other guest CPU resources. This allows
those workloads to prevent latency spikes for guest vCPU threads.
To place a workload's emulator threads on a set of isolated
physical CPUs, set the ``[compute]/cpu_shared_set`` configuration
option to the set of host CPUs that should be used for best-effort
CPU resources. Then set a flavor extra spec to
``hw:emulator_threads_policy=share`` to instruct nova to place
that workload's emulator threads on that set of host CPUs.