Virt driver guest NUMA node placement & topology
This feature aims to enhance the libvirt driver to be able todo intelligent
NUMA node placement for guests. This will increase the effective utilization
of compute resources and decrease latency by avoiding cross-node memory
accesses by guests.
Blueprint information
- Status:
- Complete
- Approver:
- John Garbutt
- Priority:
- Medium
- Drafter:
- Daniel Berrange
- Direction:
- Approved
- Assignee:
- Daniel Berrange
- Definition:
- Approved
- Series goal:
- Accepted for juno
- Implementation:
- Implemented
- Milestone target:
- 2014.2
- Started by
- Daniel Berrange
- Completed by
- Michael Still
Related branches
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Virt driver guest NUMA node placement & topology
Gerrit topic: https:/
Addressed by: https:/
libvirt: introduce separate class for cpu tune XML config
Addressed by: https:/
libvirt: add support for per-vCPU pinning in guest XML
Addressed by: https:/
libvirt: add support for memory backing parameters
Addressed by: https:/
libvirt: add support for guest NUMA topology in XML config
Addressed by: https:/
libvirt: add parsing of NUMA topology in capabilities XML
Addressed by: https:/
libvirt: test setting of CPU tuning data
Addressed by: https:/
libvirt: Remove use of db for flavor extra specs in tests
Addressed by: https:/
libvirt: add helpers for parsing/formatting CPU range specs
Addressed by: https:/
virt: move get_cpuset_ids into nova.virt.hardware
Addressed by: https:/
virt: split CPU spec parsing code out into helper method
Addressed by: https:/
virt: add method for formatting CPU sets to strings
Addressed by: https:/
libvirt: convert cpuset XML handling to use set instead of string
Gerrit topic: https:/
Addressed by: https:/
Add dict transformations to hardware NUMA classes
Addressed by: https:/
Add numa_topology column to the compute_node table
Addressed by: https:/
libvirt: Add method for getting host NUMA topolog
Addressed by: https:/
Add numa_topology column to the instances table
Addressed by: https:/
Add a method for updating usage to VirtNUMAToplogy
Addressed by: https:/
libvirt: add support for memory tuning in config
Addressed by: https:/
virt: helper for processing NUMA topology configuration
Addressed by: https:/
Make usage_from_
Addressed by: https:/
Expose numa_topology to the resource tracker
Addressed by: https:/
Add claims testing to VirtNUMAHostTop
Addressed by: https:/
Add FlavorList.
Addressed by: https:/
Cache flavors in the resource tracker
Addressed by: https:/
Hook NUMA topology checking into claims
Addressed by: https:/
Make resource tracker track NUMA usage
Addressed by: https:/
API boot process sets NUMA topology for instances
Addressed by: https:/
Method for getting NUMA usage from an instance
Addressed by: https:/
Make HostManager track NUMA usage
Addressed by: https:/
Add the NUMATopologyFilter
Addressed by: https:/
libvirt: Consider numa_topology when booting
Addressed by: https:/
Add a Set and SetOfIntegers object fields
Addressed by: https:/
Make Object FieldType from_primitive pass objects
Gerrit topic: https:/
Addressed by: https:/
Remove instance relationship from InstanceExtra model
Addressed by: https:/
Add pci_requests to instance_extra table
Addressed by: https:/
WIP: Add InstancePCIRequests object
Addressed by: https:/
Add instance_
Addressed by: https:/
InstanceNUM
Has some +2s, so leaving in juno for now. But its looking very, very tight now. --johnthetubaguy 2nd September 2014
All in the gate now, so needs pushing through. --johnthetubaguy 3rd September 2014
The major parts of this are unable to get through the gate before FFE. Kicking this out of juno for now. Please apply for a FFE at the nova-meeting. --johnthetubaguy 4th September 2014
Work Items
Dependency tree
* Blueprints in grey have been implemented.