I'm trying to understand how best to implement our architecture-aware scheduler 
for Diablo:
https://blueprints.launchpad.net/nova/+spec/schedule-instances-on-heterogeneous-architectures

Right now our scheduler is similar in approach to SimpleScheduler with a few 
extra filters on instances and compute_nodes table queries for the cpu_arch and 
xpu_arch fields that we added.  For example, for "-t cg1.4xlarge" GPU instance 
type the scheduler reads instance_types.cpu_arch="x86_64" and 
instance_types.xpu_arch = "fermi", then filters the respective compute_node and 
instance fields. http://wiki.openstack.org/HeterogeneousInstanceTypes

That's OK for Cactus, but going beyond that, I'm struggling to reconcile these 
different blueprints:
https://blueprints.launchpad.net/nova/+spec/advanced-scheduler
https://blueprints.launchpad.net/nova/+spec/distributed-scheduler

- How is the instance_metadata table used?  I see the "cpu_arch, xpu_arch" and 
other fields we added as of the same class of data as vcpus, local_gb, or 
mem_mb fields, which is why I put them in the instances table.  Virtualization 
type is of a similar class.  I think of meta-data as less defined constraints 
passed to the scheduler like "near vol-12345678".

- Will your capabilities scheduler, constraint scheduler, and/or distributed 
schedulers understand different available hardware resources on compute nodes?

- Should there be an instance_types_metadata table for things like "cpu_arch" 
rather than our current approach?  

As long as we can inject a "-t cg1.4xlarge" at one end and have that get routed 
to a compute node with GPU hardware on the other end, we're not tied to the 
centralized database implementation.

Thanks,
Brian

PS: I sent this to the mailing list a week ago and didn't get a reply, now 
can't even find this in the openstack list archive.  Anyone else having their 
posts quietly rejected?
_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to