Configure Nova’s Dedicated and Shared CPU Pools on Hosts¶
StarlingX supports configuring Nova’s dedicated and shared CPU pools on a per openstack-compute host basis.
This provides support for users to customize their VM’s CPU pinning policies to either dedicated or shared, with the dedicated policy providing improved near-real-time performance. For more details, see: https://docs.openstack.org/nova/latest/admin/cpu-topologies.html.
For an openstack-compute host:
host CPUs configured as application function will be mapped to Nova’s Shared CPU pool,
and
host CPUs configured as application-isolated function will be mapped to Nova’s Dedicated CPU pool.
The above mapping is done automatically, via system-generated Nova Helm Chart overrides, when the openstack application is applied.
The following restrictions apply when configuring host CPU functions:
There must be at least one platform and at least one application or application-isolated core on each openstack-compute host.
For example:
~(keystone)admin)$ system host-lock worker-1
~(keystone)admin)$ system host-cpu-modify -f platform -p0 1 worker-1
~(keystone)admin)$ system host-cpu-modify -f application-isolated -p0 15 worker-1
~(keystone)admin)$ system host-cpu-modify -f application-isolated -p1 15 worker-1
~(keystone)admin)$ system host-unlock worker-1
To configure a flavor to use the dedicated CPU policy, run:
~(keystone)$ openstack flavor set [FLAVOR_ID] --property hw:cpu_policy=dedicated
It is also possible to configure the CPU policy via image metadata:
~(keystone)$ openstack image set [IMAGE_ID] --property hw_cpu_policy=dedicated