:_mod-docs-content-type: ASSEMBLY
[id="cnf-provisioning-low-latency-workloads"]
= Provisioning real-time and low latency workloads
include::_attributes/common-attributes.adoc[]
:context: cnf-provisioning-low-latency

toc::[]

[role="_abstract"]
If your organization needs high performance computing and low, predictable latency, especially in the financial and telecommunications industries, you can use the Node Tuning Operator to implement automatic tuning to achieve low latency performance and consistent response time for {product-title} applications.

You use the performance profile configuration to make these changes.

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.

[NOTE]
====
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].
====

[role="_additional-resources"]
.Additional resources

* xref:../scalability_and_performance/cnf-tuning-low-latency-nodes-with-perf-profile.adoc#cnf-create-performance-profiles_cnf-tuning-low-latency-nodes-with-perf-profile[Creating a performance profile]

include::modules/cnf-scheduling-workload-onto-worker-with-real-time-capabilities.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

* xref:../nodes/scheduling/nodes-scheduler-node-selectors.adoc#nodes-pods-node-selectors[Placing pods on specific nodes using node selectors]

* link:https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node[Assigning pods to nodes]

include::modules/cnf-node-tuning-operator-creating-pod-with-guaranteed-qos-class.adoc[leveloffset=+1]

include::modules/cnf-node-tuning-operator-disabling-cpu-load-balancing-for-dpdk.adoc[leveloffset=+1]

include::modules/cnf-configuring-high-priority-workload-pods.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

* xref:../scalability_and_performance/cnf-tuning-low-latency-nodes-with-perf-profile.adoc#cnf-configuring-power-saving-for-nodes_cnf-tuning-low-latency-nodes-with-perf-profile[Configuring power saving for nodes that run colocated high and low priority workloads]

include::modules/cnf-disabling-cpu-cfs-quota.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

* xref:../edge_computing/ztp-vdu-validating-cluster-tuning.adoc#ztp-du-firmware-config-reference_vdu-config-ref[Recommended firmware configuration for vDU cluster hosts]

include::modules/cnf-disabling-interrupt-processing-for-individual-pods.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

* xref:../scalability_and_performance/cnf-tuning-low-latency-nodes-with-perf-profile#managing-device-interrupt-processing-for-guaranteed-pod-isolated-cpus_cnf-tuning-low-latency-nodes-with-perf-profile[Managing device interrupt processing for guaranteed pod isolated CPUs]
