[ovirt-devel] [RFC] VM thread pinning for High Performance
Martin Polednik
mpolednik at redhat.com
Thu Jun 22 11:16:56 UTC 2017
Hey list,
As a part of High Performance VMs feature [1], the oVirt virt team is
planning to introduce a fine grained CPU pinning control for various
VM threads (vcpu, io, emulator).
Current idea for the pinning is to allow per-host configuration of the
number of CPUs per numa node to be reserved for io+emulator threads.
If we assume that the reservation will be done by 'reserved_cpus'
variable, let's use this as an example:
reserved_cpus = [0, 1]
Such configuration would imply that 2 cores, 0th and 1st in each numa
node may be used for io+emulator thread. Additional logic is required
to avoid wasting these cores if single machine spans >1 numa node,
roughly
if numa_node where vcpu0 contains reserved_cpus:
pin io/emulator thread to reserved_cpus
else:
reserve reserved_cpus in numa_node with vcpu0
pin io/emulator thread to reserved_cpus
Such logic won't waste extra vcpus for large VMs.
Any comments on the idea are more than welcome!
[1] https://trello.com/c/MHRDD8ZO/67-high-performance-vm-preset-in-vm-dialog
More information about the Devel
mailing list