Support for heterogeneous architectures

Registered by Thierry Carrez on 2011-04-14

Nova should have support for cpu architectures, accelerator architectures, and network interfaces and be able to route run_instances() requests to a compute node capable of running that architecture. In addition, nova should prevent a user from inadvertently specifying, for example, an x86_64 machine image to run on a Power7 compute node or vice-versa. The scheduler should check for inconsistencies.

Nova should also have support for cpu architectures, accelerator architectures, and network interfaces as part of the definition of an instance type (or flavor using RackSpace API parlance). We propose to add cpu_arch, cpu_info, xpu_arch, xpu_info, xpus, net_arch, net_info, and net_mbps as attributes to instance_types, instances, and compute_nodes tables. Conceptually, this information is treated the same way that existing memory_mb, local_gb, vcpus fields are handled. They exist in instance_types and get copied as columns into instances table as instances are created. The architecture aware scheduler will compare these additional fields when selecting target compute_nodes (nova-compute services).

Etherpad: http://etherpad.openstack.org/heterogeneousinstancetypes

Blueprint information

Status:
Complete
Approver:
Vish Ishaya
Priority:
Undefined
Drafter:
Lorin Hochstein
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
None
Implementation:
Informational Informational
Milestone target:
None
Started by
Lorin Hochstein on 2011-04-21
Completed by
Thierry Carrez on 2011-05-23

Related branches

Sprints

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.