Container Resource Scheduling with Dynamic VM Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In containerized environments, resource allocation inefficiencies lead to wastage in datacenters, where some virtual machines (VMs) have excess resources while others are over-committed, due to the dynamic nature of container startup and shutdown, complicating optimization across layers.
Innovation Solution
A method for scheduling computing resources in a container cloud that determines resource availability, allocates resources to virtual machines, and optimizes container placement across hosts, using a virtualization management module to calculate and achieve a target resource configuration by adding or removing resources from VMs and containers, thereby optimizing resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If containers are dynamically started and shut down on various VMs, then service flexibility and responsiveness are improved, but resource allocation efficiency deteriorates leading to waste
Solution Approach 1:
The patent implements dynamic resource allocation by continuously monitoring container resource usage and adjusting VM resource assignments in real-time. The system calculates target resource configurations based on current container demands and dynamically adds or removes resources from VMs, ensuring that resource allocation adapts to changing service requirements without manual intervention.
Solution Approach 2:
The system establishes a feedback loop where resource usage metrics from containers are continuously collected and fed back to the resource allocation algorithm. This feedback mechanism enables the system to identify when VMs have excess resources or are over-committed, and automatically triggers reallocation actions to optimize resource distribution across the container cloud infrastructure.
2Productivity
If VMs are over-committed to accommodate more containers, then resource utilization density is improved, but system reliability deteriorates due to insufficient resources
Solution Approach 1:
The patent dynamically changes resource allocation parameters by calculating target configurations based on actual container usage patterns. The system adjusts CPU, memory, and storage allocations for VMs based on measured container demands, transforming static over-commitment ratios into dynamic parameters that maintain reliability while optimizing density. This involves continuously updating resource assignment parameters rather than using fixed over-commitment factors.
3Stability of the object's composition
If static resource allocation is used for VMs, then system stability and simplicity are improved, but resource efficiency deteriorates due to inability to adapt to changing demands
Solution Approach 1:
The system performs preliminary resource allocation based on expected container workloads and then continuously monitors actual usage. Before containers are started or scaled, the system pre-calculates required resource configurations and prepares target allocations. This preliminary action ensures that resources are ready and optimally allocated before demand arises, maintaining stability while preventing waste through proactive rather than reactive allocation.
Data Source
AI summary
A method for scheduling computing resources with container migration includes determining a resource availability for one or more hosts, a resource allocation for one or more virtual machines (VMs), and a resource usage for one or more containers. The method includes identifying the hosts on which VMs and containers can be consolidated based on resource availability. The method also includes calculating a target resource configuration for one or more VMs. The method further includes removing or adding resources to the VMs for which a target resource configuration was calculated to achieve the target resource configuration. The method further includes allocating the one or more VMs on the one or more hosts based on the resource availability of the one or more hosts, and allocating the one or more containers on the one or more VMs based on the resource configuration of each VM and the resource usage of each container.


