[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.
Best,
-jay
More information about the OpenStack-dev
mailing list