From e76ec7af4d30604e3df9423226ebda90035f30b2 Mon Sep 17 00:00:00 2001 From: Sean Mooney Date: Thu, 16 Jun 2022 14:36:05 +0100 Subject: [PATCH] update default numa allocation strategy This change updated the default of [compute]/packing_host_numa_cells_allocation_strategy to False making nova spread vms across numa nodes by defualt. This should significantly improve scheduling performace when there are a large number of host and guest numa node and non empty hosts. see bug 1978372 for details. Related-Bug: #1978372 Change-Id: I6fcd2c6b58dd36674be57eee70894ce04335955a --- nova/conf/compute.py | 13 +++++++------ ...st-numa-strategy-to-spread-18668c6d80154042.yaml | 12 ++++++++++++ 2 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 releasenotes/notes/default-host-numa-strategy-to-spread-18668c6d80154042.yaml diff --git a/nova/conf/compute.py b/nova/conf/compute.py index 9588c6541354..1a139e08d55e 100644 --- a/nova/conf/compute.py +++ b/nova/conf/compute.py @@ -1008,15 +1008,16 @@ Related options: to be enabled for this to take effect. """), cfg.BoolOpt('packing_host_numa_cells_allocation_strategy', - default=True, + default=False, help=""" This option controls allocation strategy used to choose NUMA cells on host for placing VM's NUMA cells (for VMs with defined numa topology). By -default host's NUMA cell with more resources consumed will be chosen first for -placing attempt. So the host cell with some usage will be packed with VM's cell -until it will be completely exhausted, before new free host's cell will be -used. When the packing_host_numa_cells_allocation_strategy variable is set to -``False``, host's NUMA cell with more resources available will be used. +default host's NUMA cell with more resources consumed will be chosen last for +placing attempt. When the packing_host_numa_cells_allocation_strategy variable +is set to ``False``, host's NUMA cell with more resources available will be +used. When set to ``True`` cells with some usage will be packed with VM's cell +until it will be completely exhausted, before a new free host's cell will be +used. Possible values: diff --git a/releasenotes/notes/default-host-numa-strategy-to-spread-18668c6d80154042.yaml b/releasenotes/notes/default-host-numa-strategy-to-spread-18668c6d80154042.yaml new file mode 100644 index 000000000000..aec87dc8875a --- /dev/null +++ b/releasenotes/notes/default-host-numa-strategy-to-spread-18668c6d80154042.yaml @@ -0,0 +1,12 @@ +--- +upgrade: + - | + During the triage of https://bugs.launchpad.net/nova/+bug/1978372 + we compared the performance of nova's numa allocations strategies + as it applied to the large numbers of host and guest numa nodes. + Prior to ``Xena`` nova only supported a linear packing strategy. + In ``Xena`` ``[compute]/packing_host_numa_cells_allocation_strategy`` + was introduced maintaining the previous packing behavior by default. + The numa allocation strategy has now been defaulted to spread. + The old behavior can be restored by defining: + ``[compute]/packing_host_numa_cells_allocation_strategy=true``