Container Scheduling With Cross-Node Preemption for Pending Deployments
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional container schedulers in Kubernetes fail to efficiently utilize cluster resources when individual member nodes are resource-constrained, leading to inefficient wait queues and prolonged deployment times, which degrade user experience.
Innovation Solution
A scheduling assistance sub-system identifies preemptable containers across multiple member nodes to allocate resources collectively, preempting these containers to deploy new containers efficiently, ensuring the cluster's overall resource availability meets the requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional container schedulers allocate resources only at the individual member node level, then resource availability checks are simple and fast, but resource utilization efficiency deteriorates when individual nodes are resource-constrained
Solution Approach 1:
The patent merges resource pools across multiple member nodes by introducing a resource broker that aggregates available resources from multiple nodes. This allows the scheduler to allocate resources from the combined pool rather than being constrained by individual node boundaries, thereby improving both resource utilization efficiency and deployment speed simultaneously.
Solution Approach 2:
The patent introduces a new dimension to resource allocation by implementing cross-node resource sharing. Instead of allocating resources solely within a single node (0D/1D allocation), the system enables resources to be allocated across the cluster dimension (N-D allocation), allowing underutilized resources on one node to compensate for deficiencies on another node.
2Adaptability or versatility
If containers are preempted to deploy new containers, then resource allocation flexibility improves, but impact on existing workloads increases
Solution Approach 1:
The patent changes the parameters of preemption by introducing priority levels and thresholds for different container types. Instead of uniform preemption, the system adjusts preemption parameters dynamically based on container priorities, workload importance, and resource pressure, thereby maintaining flexibility while protecting critical workloads from unnecessary disruption.
Solution Approach 2:
The patent implements feedback mechanisms that monitor workload performance and resource utilization continuously. This feedback loop allows the system to adjust preemption decisions in real-time, preventing preemption of workloads that are performing critically or would cause system instability, thus maintaining reliability while preserving allocation flexibility.
Data Source
AI summary
Examples described herein relate to a scheduling assistance sub-system for deploying a container in a cluster comprising member nodes. The scheduling assistance sub-system receives a container deployment request to deploy the container and forwards it to a container scheduler after determining the resource requirements of the container. In some examples, at the time of receiving the container deployment request, the member nodes collectively host a plurality of already-deployed containers. Responsive to receiving the container deployment request, the scheduling assistance sub-system determines if the container deployment request is assigned a pending status by the container scheduler. Further, the scheduling assistance sub-system may identify a set of preemptable containers on a single member node based on the resource requirements of the container. Furthermore, the scheduling assistance sub-system may preempt the set of preemptable containers on the single member node thereby releasing resources for deployment of the container on the single member node.


