Fix to implement 'pack' or 'spread' VM's NUMA cells
Cells mean NUMA cells below in text.
By default, first instance's cell are placed to the host's cell with
id 0, so it will be exhausted first. Than host's cell with id 1 will
be used and exhausted. It will lead to error placing instance with
number of cells in NUMA topology equal to host's cells number if
some instances with one cell topology are placed on cell with id 0
before. Fix will perform several sorts to put less used cells at
the beginning of host_cells list based on PCI devices, memory and
cpu usage when packing_host_numa_cells_allocation_strategy is set
to False (so called 'spread strategy'), or will try to place all
VM's cell to the same host's cell untill it will be completely
exhausted and only after will start to use next available host's
cell (so called 'pack strategy'), when the configuration option
packing_host_numa_cells_allocation_strategy is set to True.
Reviewed: https:/ /review. opendev. org/c/openstack /nova/+ /805649 /opendev. org/openstack/ nova/commit/ d13412648d01199 4a146dac1e7214e ad3b82b31b
Committed: https:/
Submitter: "Zuul (22348)"
Branch: master
commit d13412648d01199 4a146dac1e7214e ad3b82b31b
Author: Ilya Popov <email address hidden>
Date: Mon Aug 23 16:44:25 2021 +0300
Fix to implement 'pack' or 'spread' VM's NUMA cells
Cells mean NUMA cells below in text.
By default, first instance's cell are placed to the host's cell with host_numa_ cells_allocatio n_strategy is set host_numa_ cells_allocatio n_strategy is set to True.
id 0, so it will be exhausted first. Than host's cell with id 1 will
be used and exhausted. It will lead to error placing instance with
number of cells in NUMA topology equal to host's cells number if
some instances with one cell topology are placed on cell with id 0
before. Fix will perform several sorts to put less used cells at
the beginning of host_cells list based on PCI devices, memory and
cpu usage when packing_
to False (so called 'spread strategy'), or will try to place all
VM's cell to the same host's cell untill it will be completely
exhausted and only after will start to use next available host's
cell (so called 'pack strategy'), when the configuration option
packing_
Partial-Bug: #1940668 aac19841b750ff5 9acd3572ec6
Change-Id: I03c4db3c36a780