Shared-state scheduler
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:/
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
- Started by
- Completed by