NUMATopologyFilter will not choose numa node which has sibling but not request and other vcpus match request when only one node has sibling while host has two node when cpu_thread_policy is prefer.

Bug #1599417 reported by liuxiuli
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
New
Undecided
liuxiuli

Bug Description

version:master
problem:
NUMATopologyFilter will not choose numa node which has sibling but not satisfies request and other vcpus satisfy request when cpu_thread_policy is prefer.

for example:
host has cpu info:
NUMA node0 CPU(s): 0-7,16-23
NUMA node1 CPU(s): 8-15,24-31

and vcpu_pin_set is 0,16-23, then the node 0's sibling is [0,16], and nod 1's sibling is [].
When I boot an instance with "hw:cpu_policy": "dedicated", "hw:cpu_thread_policy": "prefer" and 4 vcpus in flavor, NUMATopology would not choose node 0.

Tags: numa scheduler
liuxiuli (liu-lixiu)
Changed in nova:
assignee: nobody → liuxiuli (liu-lixiu)
Revision history for this message
Yingxin (cyx1231st) wrote :

Not sure whether it is the designed behavior. The 'prefer' policy will try to place vCPU according to the sibling information because it is available. And that's why it is failed.

Matt Riedemann (mriedem)
tags: added: numa
tags: added: scheduler
Revision history for this message
Stephen Finucane (stephenfinucane) wrote :

So the NUMATopologyFilter shouldn't do anything for the 'prefer' policy: it's only for the 'require' thread policy:

    https://github.com/openstack/nova/blob/21312bf8/nova/scheduler/filters/numa_topology_filter.py#L46

However, there is an issue with scheduling on a host that doesn't have siblings. At the moment this should work, but it doesn't.

    https://bugs.launchpad.net/nova/+bug/1578155

I think this might be the issue you're seeing, so I've marked this as a duplicate of that bug. Please correct me if I'm wrong.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.