Pod Scheduling via Equivalence Class Partitioning and Dynamic Cache Invalidation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In large-scale Kubernetes clusters, pod scheduling efficiency is low due to the need for extensive calculations to filter and score nodes for each pod, and stable scheduling is compromised when relying on stored correspondences between equivalence classes and schedulable nodes, as node statuses and resources change over time.
Innovation Solution
Implement a method where multiple to-be-scheduled pods are obtained from a scheduling queue, undergo equivalence class partitioning to form pod sets, and each set is scheduled by determining a corresponding schedulable node set, caching the correspondence, binding pods to nodes, and deleting the cache after scheduling, ensuring pods are bound to current schedulable nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If stored correspondence between equivalence classes and schedulable nodes is used for pod scheduling, then scheduling efficiency is improved, but scheduling stability deteriorates when node status changes
Solution Approach 1:
The patent implements dynamic invalidation of cached correspondence data when node status changes are detected. The cache is not static but dynamically adjusted based on real-time node conditions, making the system both efficient (through caching) and reliable (through dynamic updates when changes occur).
Solution Approach 2:
The system establishes a feedback mechanism where node status changes are monitored and trigger invalidation of stored correspondence. This feedback loop ensures that when nodes become unschedulable, the cached data is invalidated and fresh scheduling decisions are made, maintaining stability while preserving efficiency.
2Manufacturing precision
If extensive calculations are performed to filter and score nodes for each pod, then scheduling accuracy is improved, but scheduling efficiency deteriorates
Solution Approach 1:
The patent performs node filtering and equivalence class determination in advance before the actual scheduling decision. By pre-calculating which nodes are schedulable for each pod and grouping them into equivalence classes, the system reduces the computational burden during the actual scheduling moment, achieving both accuracy and efficiency.
Solution Approach 2:
The scheduling process is segmented into distinct phases: equivalence class determination, schedulable node filtering, caching correspondence, and final binding. This segmentation allows complex calculations to be performed in controlled stages rather than all at once, improving overall scheduling efficiency while maintaining accuracy.
3Speed
If cached correspondence is maintained for repeated scheduling operations, then scheduling speed is improved, but reliability deteriorates due to node status changes
Solution Approach 1:
The cached correspondence is made dynamic through automatic invalidation when node status changes are detected. The cache remains for repeated operations to maintain speed, but becomes dynamic (invalidated and refreshed) when reliability concerns arise, achieving both fast scheduling and accurate binding.
Data Source
AI summary
A container group scheduling method includes obtaining multiple to-be-scheduled pods from a pod scheduling queue. Equivalence class partitioning on the multiple to-be-scheduled pods is performed to obtain at least one pod set. Each of the at least one pod set is determined as a target pod set. Scheduling processing is performed on the target pod set to bind each pod in the target pod set to a node configured to run the pod. A target schedulable node set corresponding to the target pod set is determined. A correspondence between the target pod set and the target schedulable node set is cached. From the target schedulable node set, a node corresponding to each pod in the target pod set is determined. Each pod in the target pod set is bound to the node corresponding to each pod in the target pod set. The cached correspondence is deleted.


