Scheduler: Utilization aware scheduling infrastructure.

Registered by Don Dugger on 2013-03-29

There are situations where it is desirable to be able to schedule VMs based upon transient resource usage beyond the current reliance on specific metrics like memory usage and CPU utilization. Advanced scheduling decisions can be made based upon enhanced usage statistics encompasing things like memory cache utilization, memory bandwidth utilization, network bandwith utilization or other, currently undefined metrics, that might be available in future platforms. This bleprint will provide an extensible framework that can be used to take advantage of current and future platform utilization metrics.

Blueprint information

Russell Bryant
Don Dugger
Don Dugger
Series goal:
Accepted for icehouse
Milestone target:
milestone icon 2014.1
Started by
Russell Bryant on 2013-07-23
Completed by
John Garbutt on 2014-03-05

Related branches



this bp seems like this one: ---wangpan

Gerrit topic:,topic:bp/utilization-aware-scheduling,n,z

Addressed by:
    Stored metrics into compute_nodes as a json dictionary

Addressed by:
    Added plugin (e.g. CPU) to monitor and collect resource data

Addressed by:
    Extend the scheduler HostState for metrics from compute_node

Addressed by:
    Added a new scheduler resource weight plugin.

Addressed by:
    Make compute support plugins and store metrics in DB.

Addressed by:
    Added plugin (e.g. network) to monitor and collect resource data

Addressed by:
    Corrected typo in host_manager

Addressed by:
    Added a new scheduler filter for metrics

Addressed by:
    MetricsWeigher: Added support of unavailable metrics

Addressed by:
    Added temperature monitor for compute node

Addressed by:
    Added power monitor for compute node

Addressed by:
    Abstract add_timestamp out of ComputeDriverCPUMonitor class

Addressed by:
    Add node manager to read power/temperature of compute node

Addressed by:
    Change parameters of add_timestamp in ComputeDriverCPUMonitor class

Merged (Havanna):

Merged (Icehouse):


Seems like all the above could be part of an "add-useful-metrics" blueprint(s). Looks like the core of this is now merged --johnthetubaguy (March 4th 2014)

Apologies, this missed the deadline for Feature Freeze. Marking this one as Implemented, so please open a new blueprint for the remaining patches. Please rebase patches as soon as Juno opens, and we will try to get this in during that period. --johnthetubaguy (5th March 2014)

I created a new blueprint "add-useful-metrics" for Juno, and all pending patches can fit into that blueprint. -- shane-wang (April 23, 2014)

Gerrit topic:,topic:bp/add-useful-metrics,n,z

Addressed by:
    Add useful metrics into utilization based scheduling

Gerrit topic:,topic:bp/add-utilization-based-weighers,n,z

Addressed by:
    Add utilization based weighers on top of MetricsWeigher


Work Items