Configuring CPU Core Assignments Using CLIΒΆ

You can improve the performance and capacity of specific functions by assigning more CPU cores using the following command:

[sysadmin@controller-0 ~(keystone_admin)]$ system host-cpu-modify [--nowrap] -f <function> [-c <cpulist>] [-p0 <num_cores_on_processor0>] [-p1 <num_cores_on_processor1>] [-p2 <num_cores_on_processor2>] [-p3 <num_cores_on_processor3>] <hostnameorid>

function

Use this command with the -f argument, which specifies the function, such as platform and application-isolated whose core count is to be modified.

Note

Any core that is not specified as one of these functions will be considered as an application core.

Platform

You can reserve one or more cores per NUMA node for platform use. One core on each host is required to run the operating system and associated services. For a combined controller and worker node in a StarlingX AIO-SX or AIO-DX configuration, two cores are required.

The ability to assign platform cores to specific NUMA nodes offers increased flexibility for high-performance configurations. For example, you can dedicate certain NUMA nodes for platform use such that other NUMA nodes that service IRQ requests are available for the containers (hosted applications) that require high-performance IRQ servicing.

Note

If you plan on running the stx-openstack application on an AIO-SX or AIO-DX deployment, at least 4 platform cores are required for adequate Horizon Web Interface and CLI performance and 6 platform cores are recommended.

Application-isolated

You can isolate a core from the host process scheduler by specifying the application-isolated function. This minimizes interruptions by other tasks to ensure more predictable latency.

Note

The tasks on the isolated cores will not be automatically load-balanced by the Linux task scheduler. Thus, it is up to the application to affine tasks appropriately.

cpulist

Use this option with the -c argument. This option specifies an explicit list of CPUs.

Note

Only one CPU function can be specified with the -c option. The c option must be used in the final call to system host-cpu-modify. Unlike specifying by core counts, when using the -c option, sysinv will not automatically add in any unspecified SMT hyperthreads if the host has hyperthreading enabled. It is up to the caller to ensure that all sibling threads are included in the CPU list.

num_cores_on_processor

Use this option with the -pX argument where X represents the NUMA node whose count you want to modify. Multiple unique -pX arguments may be specified, with a core count for each NUMA node.

hostnameorid

This is the name or ID of a host.