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
* xref:../../microshift_configuring/microshift-using-config-yaml.adoc#microshift-using-config-yaml[Customizing {microshift-short} by using the configuration file]
* link:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/monitoring_and_managing_system_status_and_performance/getting-started-with-tuned_monitoring-and-managing-system-status-and-performance[Getting started with TuneD] (RHEL documentation)
49
-
* link:https://www.redhat.com/sysadmin/linux-tuned-tuning-profiles[How to manage tuning profiles in Linux] (Red Hat blog)
49
+
* link:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/monitoring_and_managing_system_status_and_performance/getting-started-with-tuned_monitoring-and-managing-system-status-and-performance[Getting started with TuneD (RHEL documentation)]
50
+
* link:https://www.redhat.com/sysadmin/linux-tuned-tuning-profiles[How to manage tuning profiles in Linux (Red Hat blog)]
50
51
51
52
//microshift-baseline is the name of the profile and used for automatic activation settings
== Building the {op-system-ostree-first} image with the real-time kernel
69
-
70
-
Complete the build process by starting with the following procedure to embed {microshift-short}in a {op-system-ostree} image. Then complete the remaining steps in the installation documentation for installing {microshift-short} in a {op-system-ostree} image:
* xref:../../microshift_install_rpm_ostree/microshift-embed-in-rpm-ostree.adoc#microshift-creating-ostree-iso_microshift-embed-in-rpm-ostree[Embedding in a {op-system-ostree} image]
73
71
74
72
//additional resources for real-time kernel
75
73
[role="_additional-resources"]
76
74
[id="additional-resources-rtk_{context}"]
77
75
.Additional resources
78
-
* link:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/9[Red Hat Enterprise Linux for Real Time 9] ({op-system-base} documentation)
79
-
* link:https://osbuild.org/docs/on-premises/installation/managing-repositories/#using-repositories-that-require-subscription[Using repositories that require subscription] (osbuild documentation)
80
-
* link:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/composing_a_customized_rhel_system_image/creating-system-images-with-composer-command-line-interface_composing-a-customized-rhel-system-image#building-rhel-images-by-using-the-real-time-kernel_creating-system-images-with-composer-command-line-interface[Building {op-system-base} images by using the {op-system-rtk}] for more information.
81
-
* link:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/9/html/installing_rhel_9_for_real_time/assembly_installing-rhel-for-real-time_installing-rhel-9-for-real-time#post-installation-instructions_assembly_installing-rhel-for-real-time[Post installation instructions] (RHEL for Real Time documentation)
76
+
* link:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/9[Red Hat Enterprise Linux for Real Time 9 ({op-system-base} documentation)]
77
+
* link:https://osbuild.org/docs/on-premises/installation/managing-repositories/#using-repositories-that-require-subscription[Using repositories that require subscription (osbuild documentation)]
78
+
* link:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/composing_a_customized_rhel_system_image/creating-system-images-with-composer-command-line-interface_composing-a-customized-rhel-system-image#building-rhel-images-by-using-the-real-time-kernel_creating-system-images-with-composer-command-line-interface[Building {op-system-base} images by using the {op-system-rtk}]
79
+
* link:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/9/html/installing_rhel_9_for_real_time/assembly_installing-rhel-for-real-time_installing-rhel-9-for-real-time#post-installation-instructions_assembly_installing-rhel-for-real-time[Post installation instructions (RHEL for Real Time documentation)]
82
80
* xref:../../microshift_install_rpm_ostree/microshift-embed-in-rpm-ostree.adoc#microshift-embed-in-rpm-ostree[Embedding in a {op-system-ostree} image]
* link:https://docs.openshift.com/container-platform/{ocp-version}/scalability_and_performance/low_latency_tuning/cnf-provisioning-low-latency-workloads.html#cnf-configuring-high-priority-workload-pods_cnf-provisioning-low-latency[Disabling power saving mode for high priority pods] ({OCP} documentation)
89
+
* link:https://docs.openshift.com/container-platform/{ocp-version}/scalability_and_performance/low_latency_tuning/cnf-provisioning-low-latency-workloads.html#cnf-configuring-high-priority-workload-pods_cnf-provisioning-low-latency[Disabling power saving mode for high priority pods ({OCP} documentation)]
92
90
93
-
* link:https://docs.openshift.com/container-platform/{ocp-version}/scalability_and_performance/low_latency_tuning/cnf-provisioning-low-latency-workloads.html#cnf-disabling-cpu-cfs-quota_cnf-provisioning-low-latency[Disabling CPU CFS quota] ({OCP} documentation)
91
+
* link:https://docs.openshift.com/container-platform/{ocp-version}/scalability_and_performance/low_latency_tuning/cnf-provisioning-low-latency-workloads.html#cnf-disabling-cpu-cfs-quota_cnf-provisioning-low-latency[Disabling CPU CFS quota ({OCP} documentation)]
94
92
95
-
* link:https://docs.openshift.com/container-platform/{ocp-version}/scalability_and_performance/low_latency_tuning/cnf-provisioning-low-latency-workloads.html#cnf-disabling-interrupt-processing-for-individual-pods_cnf-provisioning-low-latency[Disabling interrupt processing for CPUs where pinned containers are running] ({OCP} documentation)
93
+
* link:https://docs.openshift.com/container-platform/{ocp-version}/scalability_and_performance/low_latency_tuning/cnf-provisioning-low-latency-workloads.html#cnf-disabling-interrupt-processing-for-individual-pods_cnf-provisioning-low-latency[Disabling interrupt processing for CPUs where pinned containers are running ({OCP} documentation)]
Workload partitioning divides the node CPU resources into distinct CPU sets. The primary objective is to limit the amount of CPU usage for all control plane components which reserves rest of the device CPU resources for workloads of the user.
10
11
11
12
Workload partitioning allocates reserved set of CPUs to {microshift-short} services, cluster management workloads, and infrastructure pods, ensuring that the remaining CPUs in the cluster deployment are untouched and available exclusively for non-platform workloads.
To enable workload partitioning on {microshift-short}, make the following configuration changes:
10
11
11
12
* Update the {microshift-short}`config.yaml` file to include the kubelet configuration file.
@@ -23,28 +24,28 @@ To enable workload partitioning on {microshift-short}, make the following config
23
24
# ...
24
25
{
25
26
"management": {
26
-
"cpuset": "0,6,7" <1>
27
+
"cpuset": "0,6,7"
27
28
}
28
29
}
29
30
# ...
30
31
----
31
-
<1> The `cpuset` applies to a machine with 8 VCPUs (4 cores) and is valid throughout the document.
32
+
* `cpuset`: The `cpuset` applies to a machine with 8 VCPUs (4 cores) and is valid throughout the document.
32
33
* Update the {microshift-short} config.yaml file in the path `/etc/microshift/config.yaml`. Embed the kubelet configuration in the {microshift-short}`config.yaml` file to enable and configure CPU Manager for the workloads.
33
34
+
34
35
.{microshift-short}`config.yaml` example
35
36
[source,yaml]
36
37
----
37
38
# ...
38
39
kubelet:
39
-
reservedSystemCPUs: 0,6,7 <1>
40
+
reservedSystemCPUs: 0,6,7
40
41
cpuManagerPolicy: static
41
42
cpuManagerPolicyOptions:
42
-
full-pcpus-only: "true" <2>
43
+
full-pcpus-only: "true"
43
44
cpuManagerReconcilePeriod: 5s
44
45
# ...
45
46
----
46
-
<1> Exclusive cpuset for the system daemons and the interrupts/timers.
47
-
<2> kubelet configuration sets the `CPUManagerPolicyOptions` option to `full-pcpus-only` to ensure allocation of whole cores to the containers workload.
47
+
* `reservedSystemCPUs`: Exclusive cpuset for the system daemons and the interrupts/timers.
48
+
* `full-pcpus-only`: kubelet configuration sets the `CPUManagerPolicyOptions` option to `full-pcpus-only` to ensure allocation of whole cores to the containers workload.
48
49
49
50
. Create the CRI-O systemd and configuration files:
50
51
* Create the CRI-O configuration file in the path `/etc/crio/crio.conf.d/20-microshift-workload-partition.conf` which overrides the default configuration that already exists in the `11-microshift-ovn.conf` file.
= Installing the {microshift-short} low latency RPM package
8
8
9
+
[role="_abstract"]
9
10
When you install {microshift-short}, the low latency RPM package is not installed by default. You can install the low latency RPM as an optional package.
= Building the {op-system-ostree-first} image with the real-time kernel
8
+
9
+
[role="_abstract"]
10
+
Complete the build process by starting with the following procedure to embed {microshift-short}in a {op-system-ostree} image. Then complete the remaining steps in the installation documentation for installing {microshift-short} in a {op-system-ostree} image:
Copy file name to clipboardExpand all lines: modules/microshift-low-latency-concept.adoc
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,7 @@
6
6
[id="microshift-low-latency-concept_{context}"]
7
7
= Lowering latency in {microshift-short} applications
8
8
9
+
[role="_abstract"]
9
10
Latency is defined as the time from an event to the response to that event. You can use low latency configurations and tuning in a {microshift-short} node running in an operational or software-defined control system where an edge device has to respond quickly to an external event. You can fully optimize low latency performance by combining {microshift-short} configurations with operating system tuning and workload partitioning.
0 commit comments