[Openstack] distributed and heterogeneous schedulers

Sandy Walsh sandy.walsh at RACKSPACE.COM
Thu Apr 14 11:19:27 UTC 2011


Let's not confuse instance metadata with Compute Node Capabilities. 

When scheduling, the instance has not been created yet. We have to make decisions on where the instance will ultimately reside on a number of factors:

1. the capabilities of the host hypervisor (the Compute node)
2. the current load the host is under
3. the distribution policies of the customer (ie. "don't put all my instances on the same host/zone, etc")

Capabilities are just multi-value key-value pairs, such as:
can_host=linux;windows, cpu_type=gpu, magic_sauce=purple,blue,red; cpu_min_max=0.01,0.98;

Zones today have two sets of capabilities:
1. Zone capabilities
2. Host (Compute) capabilities

These are largely static and defined when a new zone or Compute node is stood up.

There are also dynamic capabilities, such as cpu load, available disk, used network, etc. These are reported from the Services (compute, volume, network, etc) periodically and collected by the Scheduler services in a thing called the Zone Manager. The Scheduler drivers can use this data in its strategies. 

The ZM also collects the capabilities (static and dynamic) from the child zones associated with this zone. 

>From all of this information, it should be pretty easy to create a scheduler driver to suit your needs. 

The Distributed Scheduler blueprint, which Ed and I are working on currently, is a very generic, but flexible scheduling driver modeled on the "Zone Best Match" and "Server Best Match" algorithms Rackspace currently uses. 

Hope it helps!
-Sandy


Confidentiality Notice: This e-mail message (including any attached or
embedded documents) is intended for the exclusive and confidential use of the
individual or entity to which this message is addressed, and unless otherwise
expressly indicated, is confidential and privileged information of Rackspace.
Any dissemination, distribution or copying of the enclosed material is prohibited.
If you receive this transmission in error, please notify us immediately by e-mail
at abuse at rackspace.com, and delete the original message.
Your cooperation is appreciated.





More information about the Openstack mailing list