[openstack-dev] [nova] blueprint about multiple workers supported in nova-scheduler
Jay Pipes
jaypipes at gmail.com
Wed Mar 4 20:22:43 UTC 2015
On 03/04/2015 01:51 AM, Attila Fazekas wrote:
> Hi,
>
> I wonder what is the planned future of the scheduling.
>
> The scheduler does a lot of high field number query,
> which is CPU expensive when you are using sqlalchemy-orm.
> Does anyone tried to switch those operations to sqlalchemy-core ?
Actually, the scheduler does virtually no SQLAlchemy ORM queries. Almost
all database access is serialized from the nova-scheduler through the
nova-conductor service via the nova.objects remoting framework.
> The scheduler does lot of thing in the application, like filtering
> what can be done on the DB level more efficiently. Why it is not done
> on the DB side ?
That's a pretty big generalization. Many filters (check out NUMA
configuration, host aggregate extra_specs matching, any of the JSON
filters, etc) don't lend themselves to SQL column-based sorting and
filtering.
> There are use cases when the scheduler would need to know even more data,
> Is there a plan for keeping `everything` in all schedulers process memory up-to-date ?
> (Maybe zookeeper)
Zookeeper has nothing to do with scheduling decisions -- only whether or
not a compute node's "service descriptor" is active or not. The end goal
(after splitting the Nova scheduler out into Gantt hopefully at the
start of the L release cycle) is to have the Gantt database be more
optimized to contain the resource usage amounts of all resources
consumed in the entire cloud, and to use partitioning/sharding to scale
the scheduler subsystem, instead of having each scheduler process handle
requests for all resources in the cloud (or cell...)
> The opposite way would be to move most operation into the DB side,
> since the DB already knows everything.
> (stored procedures ?)
See above. This assumes that the data the scheduler is iterating over is
well-structured and consistent, and that is a false assumption.
Best,
-jay
> Best Regards,
> Attila
>
>
> ----- Original Message -----
>> From: "Rui Chen" <chenrui.momo at gmail.com>
>> To: "OpenStack Development Mailing List (not for usage questions)" <openstack-dev at lists.openstack.org>
>> Sent: Wednesday, March 4, 2015 4:51:07 AM
>> Subject: [openstack-dev] [nova] blueprint about multiple workers supported in nova-scheduler
>>
>> Hi all,
>>
>> I want to make it easy to launch a bunch of scheduler processes on a host,
>> multiple scheduler workers will make use of multiple processors of host and
>> enhance the performance of nova-scheduler.
>>
>> I had registered a blueprint and commit a patch to implement it.
>> https://blueprints.launchpad.net/nova/+spec/scheduler-multiple-workers-support
>>
>> This patch had applied in our performance environment and pass some test
>> cases, like: concurrent booting multiple instances, currently we didn't find
>> inconsistent issue.
>>
>> IMO, nova-scheduler should been scaled horizontally on easily way, the
>> multiple workers should been supported as an out of box feature.
>>
>> Please feel free to discuss this feature, thanks.
>>
>> Best Regards
>>
>>
>> __________________________________________________________________________
>> 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
>>
>
> __________________________________________________________________________
> 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