[openstack-dev] Scheduler proposal
Joshua Harlow
harlowja at fastmail.com
Fri Oct 9 20:10:41 UTC 2015
And also we should probably deprecate/not recommend:
http://docs.openstack.org/developer/nova/api/nova.scheduler.filters.json_filter.html#nova.scheduler.filters.json_filter.JsonFilter
That filter IMHO basically disallows optimizations like forming SQL
statements for each filter (and then letting the DB do the heavy
lifting) or say having each filter say 'oh my logic can be performed by
a prepared statement ABC and u should just use that instead' (and then
letting the DB do the heavy lifting).
Chris Friesen wrote:
> On 10/09/2015 12:25 PM, Alec Hothan (ahothan) wrote:
>>
>> Still the point from Chris is valid. I guess the main reason openstack is
>> going with multiple concurrent schedulers is to scale out by
>> distributing the
>> load between multiple instances of schedulers because 1 instance is too
>> slow. This discussion is about coordinating the many instances of
>> schedulers
>> in a way that works and this is actually a difficult problem and will get
>> worst as the number of variables for instance placement increases (for
>> example NFV is going to require a lot more than just cpu pinning, huge
>> pages
>> and numa).
>>
>> Has anybody looked at why 1 instance is too slow and what it would
>> take to
>> make 1 scheduler instance work fast enough? This does not preclude the
>> use of
>> concurrency for finer grain tasks in the background.
>
> Currently we pull data on all (!) of the compute nodes out of the
> database via a series of RPC calls, then evaluate the various filters in
> python code.
>
> I suspect it'd be a lot quicker if each filter was a DB query.
>
> Also, ideally we'd want to query for the most "strict" criteria first,
> to reduce the total number of comparisons. For example, if you want to
> implement the "affinity" server group policy, you only need to test a
> single host. If you're matching against host aggregate metadata, you
> only need to test against hosts in matching aggregates.
>
> Chris
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
More information about the OpenStack-dev
mailing list