Container Scheduler Balancing Node Resource Usage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing container scheduling mechanisms often lead to extreme variations in computing resource usage across nodes in a cluster, resulting in issues like memory exhaustion, frequent container restarts, and overall application instability.

Innovation Solution

A container scheduling mechanism that balances computing resource consumption across nodes by identifying pairs of nodes with significant usage differences and shuffling containers between them to maintain resource usage within a specified threshold.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If containers are scheduled on multiple nodes using existing scheduling mechanisms, then container deployment and management are achieved, but extreme variations in computing resource usage across nodes occur

Engineering Contradiction:
Improvecontainer deployment efficiencyVSAvoidresource usage balance across nodes
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The scheduling mechanism dynamically adjusts container placement based on real-time resource usage metrics. The system continuously monitors computing resource consumption across nodes and adaptively repositions containers to maintain balance, transitioning from static to dynamic scheduling decisions that respond to changing system conditions

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes scheduling parameters by considering resource usage thresholds and imbalance metrics. When resource usage difference between nodes exceeds a specified threshold, the scheduler modifies its decision parameters to trigger container shuffling operations, adjusting the scheduling behavior based on quantified imbalance conditions

Inventive Principle:
Principle #35Parameter changes

2Productivity

If containers are concentrated on fewer nodes to maximize resource utilization, then productivity increases, but memory exhaustion and application instability occur

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidapplication stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The scheduling system implements feedback control by continuously monitoring resource usage on each node and using this information to make scheduling decisions. When resource usage on a node approaches critical thresholds or when imbalance exceeds specified limits, the system receives feedback signals that trigger container migration to maintain both high utilization and system reliability

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system proactively prevents memory exhaustion and instability by detecting resource usage trends before critical thresholds are reached. The scheduler anticipates potential resource exhaustion scenarios and preemptively redistributes containers to maintain safety margins, preventing rather than reacting to failure conditions

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Stability of the object's composition

If containers are evenly distributed across all nodes, then resource balance is maintained, but computing resource efficiency decreases

Engineering Contradiction:
Improveresource usage balanceVSAvoidcomputing resource efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The system applies partial balancing action by shuffling containers only when imbalance exceeds a specified threshold, rather than maintaining strict equality at all times. This allows nodes to operate at different utilization levels within acceptable ranges, achieving sufficient balance without the overhead of continuous micro-adjustments that would reduce efficiency

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20250138873A1Container scheduler for balanced computing resource usage
Publication Date: 2025.05.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20250138873A1 patent drawing
  • US20250138873A1 patent drawing
  • US20250138873A1 patent drawing

AI summary

An approach is provided for scheduling containers on multiple nodes of a cluster so that percentages of a computing resource being utilized on the multiple nodes are modified to match each other within a specified threshold amount. Differences are determined in percentages of the computing resource being used between nodes included in pairs of nodes included in the multiple nodes. It is determined that a difference of percentages of the computing resource being used between a first node and a second node exceeds the specified threshold amount. The first and second nodes are included in a given pair of nodes included in the pairs of nodes. One or more containers are shuffled between the first and second nodes so that a difference of percentages of the computing resource being used between the first and second nodes does not exceed the specified threshold amount.