[openstack-dev] [nova] A prototype implementation towards the "shared state scheduler"

Jay Pipes jaypipes at gmail.com
Tue Feb 23 23:44:29 UTC 2016

On 02/23/2016 06:12 PM, Chris Friesen wrote:
> On 02/22/2016 03:23 AM, Sylvain Bauza wrote:
>> See, I don't think that a compute node unable to start a request is an
>> 'abnormal
>> case'. There are many reasons why a request can't be honored by the
>> compute node :
>>   - for example, the scheduler doesn't own all the compute resources
>> and thus
>> can miss some information : for example, say that you want to pin a
>> specific
>> pCPU and this pCPU is already assigned. The scheduler doesn't know
>> *which* pCPUs
>> are free, it only knows *how much* are free
>> That atomic transaction (pick a free pCPU and assign it to the
>> instance) is made
>> on the compute manager not at the exact same time we're decreasing
>> resource
>> usage for pCPUs (because it would be done in the scheduler process).
> I'm pretty sure that the existing NUMATopologyFilter is aware of which
> pCPUs/Hugepages are free on each host NUMA node.

It's aware of which pCPUs and hugepages are free on each host NUMA node 
at the time of scheduling, but it doesn't actually *claim* those 
resources in the scheduler. This means that by the time the launch 
request gets to the host, another request for the same NUMA topology may 
have consumed the NUMA cell topology.

I think that's what Sylvain is referring to above.

I'd like to point out, though, that the placement of a requested NUMA 
cell topology onto an available host NUMA cell or cells *is the claim* 
of those NUMA resources. And it is the claim -- i.e. the placement of 
the requested instance NUMA topology onto the host topology -- that I 
wish to make in the scheduler.

So, Sylvain, I am indeed talking about only the 'abnormal' cases.


More information about the OpenStack-dev mailing list