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
This commit is contained in:
Sean Mooney 2022-06-16 14:36:05 +01:00
parent ea0526d959
commit e76ec7af4d
2 changed files with 19 additions and 6 deletions

View File

@ -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:

View File

@ -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``