|
1 | 1 | // Module included in the following assemblies:
|
2 | 2 | //
|
3 |
| -// scalability_and_performance/cnf-low-latency-tuning.adoc |
| 3 | +// * scalability_and_performance/low_latency_tuning/cnf-tuning-low-latency-nodes-with-perf-profile.adoc |
4 | 4 |
|
5 | 5 | :_mod-docs-content-type: PROCEDURE
|
6 |
| -[id="configuring_hyperthreading_for_a_cluster_{context}"] |
7 |
| -= Configuring hyperthreading for a cluster |
| 6 | +[id="cnf-configuring-hyperthreading-for-a-cluster_{context}"] |
| 7 | += Configuring Hyper-Threading for a cluster |
8 | 8 |
|
9 |
| -To configure hyperthreading 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. |
| 9 | +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. |
10 | 10 |
|
11 | 11 | [NOTE]
|
12 | 12 | ====
|
13 |
| -If you configure a performance profile, and subsequently change the hyperthreading configuration for the host, ensure that you update the CPU `isolated` and `reserved` fields in the `PerformanceProfile` YAML to match the new configuration. |
| 13 | +If you configure a performance profile, and subsequently change the Hyper-Threading configuration for the host, ensure that you update the CPU `isolated` and `reserved` fields in the `PerformanceProfile` YAML to match the new configuration. |
14 | 14 | ====
|
15 | 15 |
|
16 | 16 | [WARNING]
|
17 | 17 | ====
|
18 |
| -Disabling a previously enabled host hyperthreading configuration can cause the CPU core IDs listed in the `PerformanceProfile` YAML to be incorrect. This incorrect configuration can cause the node to become unavailable because the listed CPUs can no longer be found. |
| 18 | +Disabling a previously enabled host Hyper-Threading configuration can cause the CPU core IDs listed in the `PerformanceProfile` YAML to be incorrect. This incorrect configuration can cause the node to become unavailable because the listed CPUs can no longer be found. |
19 | 19 | ====
|
20 | 20 |
|
21 | 21 | .Prerequisites
|
@@ -51,7 +51,7 @@ CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ
|
51 | 51 | +
|
52 | 52 | In this example, there are eight logical CPU cores running on four physical CPU cores. CPU0 and CPU4 are running on physical Core0, CPU1 and CPU5 are running on physical Core 1, and so on.
|
53 | 53 | +
|
54 |
| -Alternatively, to view the threads that are set for a particular physical CPU core (`cpu0` in the example below), open a command prompt and run the following: |
| 54 | +Alternatively, to view the threads that are set for a particular physical CPU core (`cpu0` in the example below), open a shell prompt and run the following: |
55 | 55 | +
|
56 | 56 | [source,terminal]
|
57 | 57 | ----
|
@@ -83,20 +83,23 @@ The reserved and isolated CPU pools must not overlap and together must span all
|
83 | 83 |
|
84 | 84 | [IMPORTANT]
|
85 | 85 | ====
|
86 |
| -Hyperthreading is enabled by default on most Intel processors. If you enable hyperthreading, all threads processed by a particular core must be isolated or processed on the same core. |
| 86 | +Hyper-Threading is enabled by default on most Intel processors. If you enable Hyper-Threading, all threads processed by a particular core must be isolated or processed on the same core. |
| 87 | +
|
| 88 | +When Hyper-Threading is enabled, all guaranteed pods must use multiples of the simultaneous multi-threading (SMT) level to avoid a "noisy neighbor" situation that can cause the pod to fail. |
| 89 | +See link:https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#static-policy-options[Static policy options] for more information. |
87 | 90 | ====
|
88 | 91 |
|
89 | 92 | [id="disabling_hyperthreading_for_low_latency_applications_{context}"]
|
90 |
| -== Disabling hyperthreading for low latency applications |
| 93 | +== Disabling Hyper-Threading for low latency applications |
91 | 94 |
|
92 |
| -When configuring clusters for low latency processing, consider whether you want to disable hyperthreading before you deploy the cluster. To disable hyperthreading, do the following: |
| 95 | +When configuring clusters for low latency processing, consider whether you want to disable Hyper-Threading before you deploy the cluster. To disable Hyper-Threading, perform the following steps: |
93 | 96 |
|
94 | 97 | . Create a performance profile that is appropriate for your hardware and topology.
|
95 | 98 | . Set `nosmt` as an additional kernel argument. The following example performance profile illustrates this setting:
|
96 | 99 | +
|
97 | 100 | [source,yaml]
|
98 | 101 | ----
|
99 |
| -apiVersion: performance.openshift.io/v2 |
| 102 | +apiVersion: performance.openshift.io/v2 |
100 | 103 | kind: PerformanceProfile
|
101 | 104 | metadata:
|
102 | 105 | name: example-performanceprofile
|
|
0 commit comments