2020-12-07 16:10:59 -05:00
|
|
|
|
|
|
|
.. bew1572888575258
|
|
|
|
.. _isolating-cpu-cores-to-enhance-application-performance:
|
|
|
|
|
|
|
|
========================================================
|
|
|
|
Isolate the CPU Cores to Enhance Application Performance
|
|
|
|
========================================================
|
|
|
|
|
|
|
|
|prod| supports running the most critical low-latency applications on host CPUs
|
|
|
|
which are completely isolated from the host process scheduler.
|
|
|
|
|
|
|
|
This allows you to customize Kubernetes CPU management when policy is set to
|
2021-05-25 13:49:01 -04:00
|
|
|
static so that low-latency applications run with optimal efficiency.
|
2020-12-07 16:10:59 -05:00
|
|
|
|
2021-07-23 16:05:41 -04:00
|
|
|
The following restriction applies when using application-isolated cores:
|
2020-12-07 16:10:59 -05:00
|
|
|
|
|
|
|
- There must be at least one platform and one application core on each host.
|
|
|
|
|
|
|
|
For example:
|
|
|
|
|
|
|
|
.. code-block:: none
|
|
|
|
|
|
|
|
~(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
|
|
|
|
|
2021-07-23 16:05:41 -04:00
|
|
|
All |SMT| siblings (hyperthreads, if enabled) on a core will have the same
|
|
|
|
assigned function. On host boot, any CPUs designated as isolated will be
|
|
|
|
specified as part of the isolcpus kernel boot argument, which will isolate them
|
|
|
|
from the process scheduler.
|
2020-12-07 16:10:59 -05:00
|
|
|
|
2021-05-25 13:49:01 -04:00
|
|
|
.. only:: partner
|
|
|
|
|
|
|
|
.. include:: /_includes/isolating-cpu-cores-to-enhance-application-performance.rest
|
|
|
|
:start-after: usage-limitation-begin
|
|
|
|
:end-before: usage-limitation-end
|
2020-12-07 16:10:59 -05:00
|
|
|
|
|
|
|
When using the static CPU manager policy before increasing the number of
|
|
|
|
platform CPUs or changing isolated CPUs to application CPUs on a host, ensure
|
|
|
|
that no pods on the host are making use of any isolated CPUs that will be
|
|
|
|
affected. Otherwise, the pod\(s\) will transition to a Topology Affinity Error
|
|
|
|
state. Although not strictly necessary, the simplest way to do this on systems
|
|
|
|
other than AIO Simplex is to administratively lock the host, causing all the
|
|
|
|
pods to be restarted on an alternate host, before changing CPU assigned
|
|
|
|
functions. On AIO Simplex systems, you must explicitly delete the pods.
|
|
|
|
|
|
|
|
.. only:: partner
|
|
|
|
|
2021-05-25 13:49:01 -04:00
|
|
|
.. include:: /_includes/isolating-cpu-cores-to-enhance-application-performance.rest
|
|
|
|
:start-after: changes-relative-to-root-begin
|
|
|
|
:end-before: changes-relative-to-root-end
|