Bug 1055853

Summary: [RFE][nova]: New Scheduler Driver that adds in caching
Product: Red Hat OpenStack Reporter: RHOS Integration <rhos-integ>
Component: openstack-novaAssignee: RHOS Maint <rhos-maint>
Status: CLOSED ERRATA QA Contact: Ami Jeain <ajeain>
Severity: low Docs Contact:
Priority: medium    
Version: unspecifiedCC: markmc, ndipanov, sgordon, slong, vpopovic, yeylon
Target Milestone: Upstream M3Keywords: FutureFeature, Triaged, Upstream
Target Release: 5.0 (RHEL 7)   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/nova/+spec/caching-scheduler
Whiteboard: upstream_milestone_icehouse-3 upstream_status_implemented upstream_definition_approved
Fixed In Version: openstack-nova-2014.1-3.el7ost Doc Type: Enhancement
Doc Text:
The Compute service now includes a caching scheduler driver to help improve scheduler performance. The caching scheduler uses existing facilities for applying scheduler filters and weights, and caches the resultant list of available hosts. When a user request is passed to the caching scheduler, the driver attempts to schedule based on the list of cached hosts (and only uses non-cached information if the attempt fails).
Story Points: ---
Clone Of:
: 1082395 (view as bug list) Environment:
Last Closed: 2014-07-08 15:27:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1082395    

Description RHOS Integration 2014-01-21 05:01:24 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/nova/+spec/caching-scheduler.

Description:

I believe we need to encourage more scheduler innovation, by encouraging more scheduler drivers, allowing people to make different tradeoffs. Some of these may be dead ends, but I hope they may spark better ideas, and some may become the default scheduler, if they prove themselves.

This new driver attempts to:
* generate a list of pre-picked scheduler slots
* when user request hits scheduler, attempts to pick cached decision first

The idea is to do most of the expensive work up front, and do some very reduced filtering/weighting of hosts on each user request.

Implementation wise:
* this is a new driver
* uses the existing host manager for filtering and weighting
* will not have all the features of the existing filter scheduler

The current implementation is designed to work well under a low, but predictable load, when the cloud is also got a reasonable amount of space capacity.

Once this initial draft is complete (this blueprint), we can look at further ideas (in a follow up blueprint) to scale out the scheduler to multiple hosts with either:
* shared scheduler cache (centralised)
* pre-commit resources on a specific compute node's resource manager (de-centralised)

Specification URL (additional information):

None

Comment 5 errata-xmlrpc 2014-07-08 15:27:55 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHEA-2014-0853.html