[nova] NUMA scheduling
Eric K. Miller
emiller at genesishosting.com
Tue Oct 20 01:38:52 UTC 2020
> hw:numa_nodes=1 does not enable per numa node memory tracking
> to resolve your OOM issue you need to set hw:mem_page_size=small or
> hw:mem_page_size=any
Ah! That's what I was looking for! :) Thank you Sean!
> the reason that it is always selection numa 0 is that nova is taking the list of
> host numa nodes and checkign each one using itertools.permutations.
> that always checks the numa nodes in a stable order starting with numa node
> 0.
>
> since you have jsut set hw:numa_nodes=1 without requesting any numa
> specifc resouces e.g. memory or cpus numa node 0 will effectivly always fit
> the
> vm
Makes sense.
> when you set hw:numa_nodes=1 and nothing else the scudler will only
> reject a node if the number of cpus on the numa node is less that the
> number the
> vm requests. it will not check the memory availabel on the numa node since
> you did not ask nova to do that via hw:mem_page_size
>
> effectivly if you are using any numa feature in nova and do not set
> hw:mem_page_size then your flavor is misconfigured as it will not request
> numa
> local memory trackign to be enabled.
Good to know.
So it sounds like by setting the hw:mem_page_size parameter (probably best to choose "small" as a general default), NUMA node 0 will fill up, and then NUMA node 1 will be considered. In other words, VMs will NOT be provisioned in a "round-robin" fashion between NUMA nodes. Do I understand that correctly?
> you do not need to use hugepages but you do need to enable per numa
> node memory tracking with hw:mem_page_size=small (use non hugepage
> typicaly 4k
> pages) or hw:mem_page_size=any which basicaly is the same as small but
> the image can requst hugepages if it wantws too. if you set small in the
> flaor but large in the image that is an error. if you set any in the falvor the
> image can set any value it like like small or large or an explcit page
> size and the schduler will honour that.
>
> if you know you wnat the flavor to use small pages then you shoudl just set
> small explictly.
Also good to know. Thanks again!
Eric
More information about the openstack-discuss
mailing list