This section outlines the top new features for the Compute service.
- Emulator Thread Policies
The Compute scheduler determines the CPU resource utilization and places instances based on the number of virtual CPUs (vCPUs) in the flavor. There are a number of hypervisor operations that are performed on the host on behalf of the guest instance. The
libvirt driver implements a generic placement policy for KVM, which allows QEMU emulator threads to float across the same physical CPUs (pCPUs) that the vCPUs are running on. This leads to the emulator threads using time borrowed from the vCPU operations.
With this release, Compute reserves one vCPU for running non-realtime workloads using the
hw:emulator_threads_policy=isolate option. Before you enable the emulator threads placement policy on an instance flavor, you must set the
hw:cpu_policy option to dedicated.
- Reserve (weight) SR-IOV Capable NUMA Nodes
This release includes updates to the filter scheduler and resource tracker to place non-PCI instances on non-PCI NUMA nodes. Instances not bound to PCI devices will be preferably placed on hosts without PCI devices. If there is no host without PCI devices, then hosts with PCI devices will be used. To enable this option, use the new
nova.scheduler.weights.all_weighers PCI weigher option. You can also enable this option manually using the
filter_scheduler.weight_classes configuration option.