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
When scheduling large workloads, pod definitions are typically identical and require scheduler
167
+
to perform the same operations over and over again. The [Opportunistic Batching](/docs/reference/command-line-tools-reference/feature-gates/OpportunisticBatching.md)
168
+
feature allows scheduler to reuse the intermediate data between scheduling cycles which
169
+
greatly speeds up the scheduling process.
170
+
171
+
The benefits come with certain limitations:
172
+
1. Pods need to have equivalent definitions
173
+
1. Pods need to be scheduled at the same time (cache expires afer 0.5s)
174
+
1. Pods cannot use inter pod affinity/anti-affinity
175
+
1. Pods cannot use topology spread constraints
176
+
1. Pods cannot use neither DRA nor [DRAExtendedResource](/docs/reference/command-line-tools-reference/feature-gates/DRAExtendedResource.md) feature.
177
+
1. Scheduling profile needs to disable [default topology spread](/docs/concepts/scheduling-eviction/topology-spread-constraints/#internal-default-constraints)
178
+
1. `IgnorePreferredTermsOfExistingPods` of [InterPodAffinityArgs](/docs/reference/config-api/kube-scheduler-config.v1/#kubescheduler-config-k8s-io-v1-InterPodAffinityArgs)
179
+
needs to be set to `true`
180
+
1. Whenever exisiting pods use pod affinity constraints that match any of the scheduled pods' labels, the feature may bring no benefit
181
+
1. Whenever a custom plugin is used, it needs to implement the Signature extension point
182
+
162
183
## {{% heading "whatsnext" %}}
163
184
164
185
* Check the [kube-scheduler configuration reference (v1)](/docs/reference/config-api/kube-scheduler-config.v1/)
0 commit comments