Support for heterogeneous architectures
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://
Blueprint information
- Status:
- Complete
- Approver:
- Vish Ishaya
- Priority:
- Undefined
- Drafter:
- Lorin Hochstein
- Direction:
- Approved
- Assignee:
- None
- Definition:
- Approved
- Series goal:
- None
- Implementation:
- Informational
- Milestone target:
- None
- Started by
- Lorin Hochstein
- Completed by
- Thierry Carrez
Whiteboard
Work Items
Dependency tree
* Blueprints in grey have been implemented.