Kubernetes Pod Scheduling via Eviction Feedback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Container orchestration schedulers face inefficiencies due to lack of visibility into the container-orchestration system, leading to suboptimal resource utilization and operational inefficiencies, as they continue to assign pods to unsuitable nodes despite resource unavailability or eviction, due to their stateless nature and limited information about scheduling attempts.

Innovation Solution

Implementing a processing device that schedules pods on multiple nodes, updates scheduling data with node IDs and timestamps, and iteratively determines suitable nodes based on this data to avoid unsuitable hosts, ensuring successful pod placement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the scheduler operates in compliance with configured predicates without visibility into system state, then the scheduler maintains simplicity and compliance with policies, but the scheduler repeatedly assigns pods to unsuitable nodes causing evictions and resource underutilization

Engineering Contradiction:
Improvescheduler compliance with predicatesVSAvoidresource utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements a feedback mechanism where the scheduler monitors pod eviction events and uses this information to update its scheduling decisions. When a pod is evicted from a node, the scheduler records this information and avoids reassigning pods to the same unsuitable node, creating a closed-loop control system that learns from past scheduling outcomes

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces an intermediary component that bridges the scheduler and the underlying system state. This intermediary collects and processes information about node suitability, pod evictions, and resource availability, providing the scheduler with enhanced visibility without requiring changes to the core scheduling logic or predicates

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If the scheduler is stateless and lacks visibility into scheduling attempts, then the scheduler maintains simplicity and fast operation, but the scheduler cannot learn from failed assignments and continues repetitive mis-scheduling

Engineering Contradiction:
Improvescheduling operation speedVSAvoidscheduling attempt information
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

The patent performs preliminary actions by pre-collecting and storing scheduling attempt information, eviction data, and node suitability metrics before new scheduling decisions are made. This advance preparation of information allows the scheduler to make informed decisions without adding significant computational overhead to the actual scheduling operation

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements self-service by automatically tracking and storing its own scheduling history and performance metrics. The scheduler serves itself by maintaining internal state about past scheduling attempts and using this information to improve future decisions, eliminating the need for external monitoring systems

Inventive Principle:
Principle #25Self-service

3Stability of the object's composition

If the scheduler continues to assign pods to the same unsuitable nodes, then the scheduler maintains consistent behavior and simplicity, but the system experiences repeated evictions and operational inefficiencies

Engineering Contradiction:
Improvescheduling behavior consistencyVSAvoidpod placement success
Core Design Contradiction:
Stability of the object's compositionVSReliability

Solution Approach 1:

The patent introduces dynamic adaptability to the scheduling system by enabling it to adjust its behavior based on observed performance and eviction patterns. The scheduler maintains consistent behavior for suitable nodes while dynamically avoiding nodes that have demonstrated unsuitability, creating a adaptive scheduling policy that responds to system conditions

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11768704B2Increase assignment effectiveness of kubernetes pods by reducing repetitive pod mis-scheduling
Publication Date: 2023.09.26 RED HAT LLC
  • US11768704B2 patent drawing
  • US11768704B2 patent drawing
  • US11768704B2 patent drawing

AI summary

Systems and methods for intelligently scheduling a pod in a cluster of worker nodes are described. A scheduling service may account for previous scheduling attempts by considering the time and node (scheduling data) on which a preceding attempt to schedule a node were made, and factoring this information into the scheduling decision. Upon making a determination of a node on which to attempt to schedule the pod, the scheduling data may be updated with the time and node ID of the determined node and the pod may be scheduled on the determined node. In response to determining that the pod has been evicted from the determined node, the above process may continue iteratively until the pod has been successfully scheduled.