Container Scheduling via Dynamic Memory Prediction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing container orchestration systems fail to maximize available memory usage during container scheduling due to the inability to accurately predict dynamic available memory, especially in environments with memory page sharing among containers.
Innovation Solution
The method predicts dynamic available memory by considering page sharing information among containers, using formulas to calculate the available memory size of candidate nodes, and filters nodes to ensure they meet the memory requirements of new units, then ranks them based on priority functions to optimize scheduling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional memory allocation methods are used in container orchestration systems, then scheduling simplicity is maintained, but available memory usage is not maximized due to inability to predict dynamic available memory
Solution Approach 1:
The patent changes the parameter for memory assessment from static total memory to dynamic available memory by incorporating page sharing information. The scheduler calculates available memory by subtracting allocated memory from total memory and adjusting for page sharing ratios, transforming how memory resources are evaluated and scheduled.
Solution Approach 2:
The patent replaces traditional mechanical memory allocation mechanisms with a predictive modeling approach. Instead of relying on fixed memory allocation rules, the system uses page sharing information and calculation formulas to predict dynamic available memory, substituting rigid mechanical scheduling with adaptive computational prediction.
2Productivity
If page sharing information is incorporated to predict dynamic available memory, then memory usage efficiency is maximized, but measurement precision requirements increase
Solution Approach 1:
The patent implements feedback mechanisms where page sharing information is continuously collected from running containers and fed back into the scheduling system. This feedback loop allows the scheduler to update available memory predictions dynamically based on actual page sharing performance, improving measurement accuracy over time.
Solution Approach 2:
The patent performs preliminary calculations of available memory using page sharing information before scheduling decisions are made. By pre-computing the available memory metric based on historical page sharing data and allocation patterns, the system prepares accurate predictions in advance, reducing the precision burden during actual scheduling moments.
3Reliability
If nodes are filtered based on available memory meeting minimum limitations, then resource allocation reliability is improved, but scheduling time increases due to additional filtering and ranking operations
Solution Approach 1:
The patent applies partial filtering by first evaluating only the critical memory availability criterion using page sharing information, rather than comprehensively checking all possible node attributes initially. This partial action approach filters out clearly unsuitable nodes based on memory predictions, reducing the set of candidates for further evaluation and thus reducing overall scheduling time while maintaining reliability.
Data Source
AI summary
Embodiments of the present disclosure relate to a computer-implemented method for container scheduling in a container orchestration system (COS). According to the method, a new unit comprising one or more containers are detected. Available memory for each of a plurality of candidate nodes deployed in the COS is predicted based on page sharing information of each candidate node. The plurality of candidate nodes filtered to obtain a set of filtered nodes are, wherein the available memory of each of the set of filtered node meets a memory size limitation of the new unit. Priorities of the set of filtered nodes are ranked according to one or more priority functions. The new unit is deployed to one of the filtered nodes based on the priorities.


