You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
= Provisioning real-time and low latency workloads
9
9
10
-
Many industries and organizations need extremely high performance computing and might require low and predictable latency, especially in the financial and telecommunications industries. For these industries, with their unique requirements, {product-title} provides a Performance Addon Operator to implement automatic tuning to achieve low latency performance and consistent response time for {product-title} applications.
10
+
Many industries and organizations need extremely high performance computing and might require low and predictable latency, especially in the financial and telecommunications industries. For these industries, with their unique requirements, {product-title} provides the Node Tuning Operator to implement automatic tuning to achieve low latency performance and consistent response time for {product-title} applications.
11
11
12
-
The cluster administrator can use this performance profile configuration to make these changes in a more reliable way. The administrator can specify whether to update the kernel to kernel-rt (real-time), reserve CPUs for cluster and operating system housekeeping duties, including pod infra containers, and isolate CPUs for application containers to run the workloads.
12
+
The cluster administrator can use this performance profile configuration to make these changes in a more reliable way. The administrator can specify whether to update the kernel to kernel-rt (real-time), reserve CPUs for cluster and operating system housekeeping duties, including pod infra containers, isolate CPUs for application containers to run the workloads, and disable unused CPUs to reduce power consumption.
13
13
14
14
[WARNING]
15
15
====
16
16
The usage of execution probes in conjunction with applications that require guaranteed CPUs can cause latency spikes. It is recommended to use other probes, such as a properly configured set of network probes, as an alternative.
17
17
====
18
18
19
+
[NOTE]
20
+
====
21
+
In earlier versions of {product-title}, the Performance Addon Operator was used to implement automatic tuning to achieve low latency performance for OpenShift applications. In {product-title} 4.11 and later, these functions are part of the Node Tuning Operator.
== Provisioning a worker with real-time capabilities
41
46
42
-
. Install Performance Addon Operator to the cluster.
43
-
44
47
. Optional: Add a node to the {product-title} cluster.
45
48
See link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time/8/html-single/tuning_guide/index#Setting_BIOS_parameters[Setting BIOS parameters].
46
49
@@ -75,7 +78,7 @@ Note that a machine config pool worker-rt is created for group of nodes that hav
75
78
+
76
79
[NOTE]
77
80
====
78
-
You must decide which nodes are configured with real-time workloads. You could configure all of the nodes in the cluster, or a subset of the nodes. The Performance Addon Operator that expects all of the nodes are part of a dedicated machine config pool. If you use all of the nodes, you must point the Performance Addon Operator to the worker node role label. If you use a subset, you must group the nodes into a new machine config pool.
81
+
You must decide which nodes are configured with real-time workloads. You could configure all of the nodes in the cluster, or a subset of the nodes. The Node Tuning Operator that expects all of the nodes are part of a dedicated machine config pool. If you use all of the nodes, you must point the Node Tuning Operator to the worker node role label. If you use a subset, you must group the nodes into a new machine config pool.
79
82
====
80
83
. Create the `PerformanceProfile` with the proper set of housekeeping cores and `realTimeKernel: enabled: true`.
81
84
@@ -230,7 +233,7 @@ status:
230
233
231
234
* The pod must have the `cpu-load-balancing.crio.io: true` annotation.
232
235
233
-
The Performance Addon Operator is responsible for the creation of the high-performance runtime handler config snippet under relevant nodes and for creation of the high-performance runtime class under the cluster. It will have the same content as default runtime handler except it enables the CPU load balancing configuration functionality.
236
+
The Node Tuning Operator is responsible for the creation of the high-performance runtime handler config snippet under relevant nodes and for creation of the high-performance runtime class under the cluster. It will have the same content as default runtime handler except it enables the CPU load balancing configuration functionality.
234
237
235
238
To disable the CPU load balancing for the pod, the `Pod` specification must include the following fields:
236
239
@@ -278,4 +281,48 @@ For more information, see link:https://access.redhat.com/documentation/en-us/ope
== Scheduling a workload onto a worker with real-time capabilities
280
283
281
-
Use label selectors that match the nodes attached to the machine config pool that was configured for low latency by the Performance Addon Operator. For more information, see link:https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/[Assigning pods to nodes].
284
+
Use label selectors that match the nodes attached to the machine config pool that was configured for low latency by the Node Tuning Operator. For more information, see link:https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/[Assigning pods to nodes].
== Reducing power consumption by taking CPUs offline
288
+
289
+
You can generally anticipate telecommunication workloads. When not all of the CPU resources are required, the Node Tuning Operator allows you take unused CPUs offline to reduce power consumption by manually updating the performance profile.
290
+
291
+
To take unused CPUs offline, you must perform the following tasks:
292
+
293
+
. Set the offline CPUs in the performance profile and save the contents of the YAML file:
294
+
+
295
+
.Example performance profile with offlined CPUs
296
+
[source,yaml]
297
+
----
298
+
apiVersion: performance.openshift.io/v2
299
+
kind: PerformanceProfile
300
+
metadata:
301
+
name: performance
302
+
spec:
303
+
additionalKernelArgs:
304
+
- nmi_watchdog=0
305
+
- audit=0
306
+
- mce=off
307
+
- processor.max_cstate=1
308
+
- intel_idle.max_cstate=0
309
+
- idle=poll
310
+
cpu:
311
+
isolated: "2-23,26-47"
312
+
reserved: "0,1,24,25"
313
+
offlined: “48-59” <1>
314
+
nodeSelector:
315
+
node-role.kubernetes.io/worker-cnf: ""
316
+
numa:
317
+
topologyPolicy: single-numa-node
318
+
realTimeKernel:
319
+
enabled: true
320
+
----
321
+
<1> Optional. You can list CPUs in the `offlined` field to take the specified CPUs offline.
322
+
323
+
. Apply the updated profile by running the following command:
0 commit comments