Shared-state scheduler

Registered by Sylvain Bauza on 2015-04-16

The current Nova scheduler suffers from big scalability issues. That's mainly due to the resources not being correctly either sharded or shared between all the schedulers, so many race condtions can occur (eg. 2 schedulers committing the same set of resources for 2 different instances on the same destination node).

By looking at the existing state-of-art for scaling out schedulers, it appears that shared-state optimistic (no lock) schedulers offer the best performances for a reasonable tradeoff of retries.

This blueprint is the translation of this high-level target into real changes for the existing FilterScheduler (and the related CachingScheduler) in order to have a shared HostState with a transactional procedure for avoiding race conditions.

Etherpad for discussing on the implementation : https://etherpad.openstack.org/p/liberty-nova-scalable-scheduler

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Sylvain Bauza
Direction:
Needs approval
Assignee:
Sylvain Bauza
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.