-
Feature Request
-
Resolution: Unresolved
-
Undefined
-
None
-
None
-
None
-
None
-
None
-
False
-
-
None
-
None
-
None
-
-
None
-
None
-
None
-
None
-
None
1. Proposed title of this feature request
CPU isolation for networking determinism.
2. What is the nature and description of the request?
As part of recent efforts to port OVS-DPDK in OCP and with the OpenPErouter project, there is a need for isolating cpu resources from the system daemons, kernel services (rcu, interrupts etc...) and the pods.
No automatic assignment is envisionned for now.
The number and (numa) location of those cpu resources should be left to the cluster administration.
3. Why does the customer need this? (List the business requirements here)
Packet processing determinism (which provides performance, low latency, no packets drops) require dedicated cpu resources.
See https://issues.redhat.com/browse/RFE-8817 for example which states zero-loss expectations.
4. List any affected packages or components.
openshift/cluster-node-tuning-operator
We already have some PoC for this feature which can be found at:
https://github.com/mcoquelin/cluster-node-tuning-operator/commits/release-4.20-ovs-dpdk/
This PoC on v4.20 introduces 3 changes:
- disabling OVN kubernetes dynamic cpu repinning (open question: could it be reworked so OVN k8s skips the new set of cores? that would avoid one obscure config option),
- declare a set of "dedicated" cpus in the PerformanceProfile API,
- declare a set of cpus banned from irqbalance in the PerformanceProfile API,