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
= About Hyper-Threading for low latency and real-time applications
8
+
9
+
Hyper-Threading is an Intel processor technology that allows a physical CPU processor core to function as two logical cores, executing two independent threads simultaneously. Hyper-Threading allows for better system throughput for certain workload types where parallel processing is beneficial. The default {product-title} configuration expects Hyper-Threading to be enabled by default.
10
+
11
+
For telecommunications applications, it is important to design your application infrastructure to minimize latency as much as possible. Hyper-Threading can slow performance times and negatively affect throughput for compute intensive workloads that require low latency. Disabling Hyper-Threading ensures predictable performance and can decrease processing times for these workloads.
12
+
13
+
[NOTE]
14
+
====
15
+
Hyper-Threading implementation and configuration differs depending on the hardware you are running {product-title} on. Consult the relevant host hardware tuning information for more details of the Hyper-Threading implementation specific to that hardware. Disabling Hyper-Threading can increase the cost per core of the cluster.
To configure Hyper-Threading for an {product-title} cluster, set the CPU threads in the performance profile to the same cores that are configured for the reserved or isolated CPU pools.
= How to run `podman` to create a performance profile
6
+
= How to run podman to create a performance profile
7
7
8
8
The following example illustrates how to run `podman` to create a performance profile with 20 reserved CPUs that are to be split across the NUMA nodes.
<1> Disables the CPU completely fair scheduler (CFS) quota at the pod run time
@@ -67,7 +67,7 @@ spec:
67
67
<4> The `nodeSelector` label must match the label that you specify in the `Node` CR.
68
68
<5> `runtimeClassName` must match the name of the performance profile configured in the cluster.
69
69
70
-
. Enter the pod `runtimeClassName` in the form performance-<profile_name>, where <profile_name> is the `name` from the `PerformanceProfile` YAML, in this example, `performance-dynamic-realtime-profile`.
70
+
. Enter the pod `runtimeClassName` in the form performance-<profile_name>, where <profile_name> is the `name` from the `PerformanceProfile` YAML, in this example, `performance-dynamic-low-latency-profile`.
71
71
72
72
. Ensure the pod is running correctly. Status should be `running`, and the correct cnf-worker node should be set:
73
73
+
@@ -80,15 +80,15 @@ $ oc get pod -o wide
80
80
+
81
81
[source,terminal]
82
82
----
83
-
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
Copy file name to clipboardExpand all lines: modules/cnf-understanding-low-latency.adoc
+1-1
Original file line number
Diff line number
Diff line change
@@ -37,6 +37,6 @@ Workload hints simplify the fine-tuning of performance to industry sector settin
37
37
* Real-time capability
38
38
* Efficient use of power
39
39
40
-
In an ideal world, all of those would be prioritized: in real life, some come at the expense of others. The Node Tuning Operator is now aware of the workload expectations and better able to meet the demands of the workload. The cluster admin can now specify into which use case that workload falls. The Node Tuning Operator uses the `PerformanceProfile` to fine tune the performance settings for the workload.
40
+
Ideally, all of the previously listed items are prioritized. Some of these items come at the expense of others however. The Node Tuning Operator is now aware of the workload expectations and better able to meet the demands of the workload. The cluster admin can now specify into which use case that workload falls. The Node Tuning Operator uses the `PerformanceProfile` to fine tune the performance settings for the workload.
41
41
42
42
The environment in which an application is operating influences its behavior. For a typical data center with no strict latency requirements, only minimal default tuning is needed that enables CPU partitioning for some high performance workload pods. For data centers and workloads where latency is a higher priority, measures are still taken to optimize power consumption. The most complicated cases are clusters close to latency-sensitive equipment such as manufacturing machinery and software-defined radios. This last class of deployment is often referred to as Far edge. For Far edge deployments, ultra-low latency is the ultimate priority, and is achieved at the expense of power management.
* xref:../../scalability_and_performance/what-huge-pages-do-and-how-they-are-consumed-by-apps.adoc#configuring-huge-pages_huge-pages[Configuring huge pages at boot time]
25
25
26
26
* xref:../../scalability_and_performance/what-huge-pages-do-and-how-they-are-consumed-by-apps.adoc#how-huge-pages-are-consumed-by-apps_huge-pages[How huge pages are consumed by apps]
Copy file name to clipboardExpand all lines: scalability_and_performance/low_latency_tuning/cnf-provisioning-low-latency-workloads.adoc
+3-3
Original file line number
Diff line number
Diff line change
@@ -10,11 +10,11 @@ Many organizations need high performance computing and low, predictable latency,
10
10
11
11
{product-title} provides the Node Tuning Operator to implement automatic tuning to achieve low latency performance and consistent response time for {product-title} applications.
12
12
You use the performance profile configuration to make these changes.
13
-
You can 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
+
You can update the kernel to kernel-rt, 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.
14
14
15
15
[NOTE]
16
16
====
17
-
When writing your applications, follow the general recommendations described in link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time/8/html-single/tuning_guide/index#chap-Application_Tuning_and_Deployment[Application tuning and deployment].
17
+
When writing your applications, follow the general recommendations described in link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time/9/html-single/understanding_rhel_for_real_time/index#assembly_rhel-for-real-time-processes-and-threads_understanding-RHEL-for-Real-Time-core-concepts[RHEL for Real Time processes and threads].
* For more information about recommended firmware configuration, see xref:../../edge_computing/ztp-vdu-validating-cluster-tuning.adoc#ztp-du-firmware-config-reference_vdu-config-ref[Recommended firmware configuration for vDU cluster hosts].
50
+
* xref:../../edge_computing/ztp-vdu-validating-cluster-tuning.adoc#ztp-du-firmware-config-reference_vdu-config-ref[Recommended firmware configuration for vDU cluster hosts]
Tune nodes for low latency by using the cluster performance profile.
10
-
You can restrict CPUs for infra and application containers, configure huge pages and Hyper-Threading, and configure CPU partitions for latency-sensitive processes.
10
+
You can restrict CPUs for infra and application containers, configure huge pages, Hyper-Threading, and configure CPU partitions for latency-sensitive processes.
11
11
12
12
[role="_additional-resources"]
13
13
.Additional resources
@@ -21,22 +21,22 @@ Learn about the Performance Profile Creator (PPC) and how you can use it to crea
21
21
22
22
[NOTE]
23
23
====
24
-
Currently, disabling CPU load balancing is not supported by cgroup v2. As a result, you might not get the desired behavior from performance profiles if you have cgroup v2 enabled. Enabling cgroup v2 is not recommended if you are using performance profiles.
24
+
Currently, disabling CPU load balancing is not supported by cgroup v2. As a result, you might not get the required behavior from performance profiles if you have cgroup v2 enabled. Enabling cgroup v2 is not recommended if you are using performance profiles.
* xref:../../scalability_and_performance/low_latency_tuning/cnf-provisioning-low-latency-workloads.adoc#cnf-configuring-high-priority-workload-pods_cnf-provisioning-low-latency[Configuring high priority workload pods]
65
+
* xref:../../scalability_and_performance/low_latency_tuning/cnf-provisioning-low-latency-workloads.adoc#cnf-configuring-high-priority-workload-pods_cnf-provisioning-low-latency[Disabling power saving mode for high priority pods]
66
66
67
67
* xref:../../scalability_and_performance/low_latency_tuning/cnf-tuning-low-latency-nodes-with-perf-profile.adoc#managing-device-interrupt-processing-for-guaranteed-pod-isolated-cpus_cnf-low-latency-perf-profile[Managing device interrupt processing for guaranteed pod isolated CPUs]
Edge computing plays a key role in reducing latency and congestion problems and improving application performance for telco and 5G network applications.
9
+
Edge computing has a key role in reducing latency and congestion problems and improving application performance for telco and 5G network applications.
10
10
Maintaining a network architecture with the lowest possible latency is key for meeting the network performance requirements of 5G.
11
11
Compared to 4G technology, with an average latency of 50 ms, 5G is targeted to reach latency of 1 ms or less. This reduction in latency boosts wireless throughput by a factor of 10.
* xref:../../scalability_and_performance/low_latency_tuning/cnf-tuning-low-latency-nodes-with-perf-profile.adoc#configuring_hyperthreading_for_a_cluster_cnf-low-latency-perf-profile[Configuring Hyper-Threading for a cluster]
20
+
* xref:../../scalability_and_performance/low_latency_tuning/cnf-tuning-low-latency-nodes-with-perf-profile.adoc#cnf-configuring-hyperthreading-for-a-cluster_cnf-low-latency-perf-profile[Configuring Hyper-Threading for a cluster]
0 commit comments