Container Process Scheduling via Dynamic CPU Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current container-based cloud computing systems face challenges in resource utilization due to idle CPU resources and conflicts between delay-sensitive and non-delay-sensitive services, leading to suboptimal scheduling and performance.
Innovation Solution
A container-based process scheduling method that dynamically migrates service processes between home and away CPUs based on load balancing conditions, determining running priorities to optimize CPU allocation and utilization without affecting service performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If service processes are deployed on the same device in a hybrid deployment manner, then resource utilization improves, but service performance deteriorates due to conflicts between delay-sensitive and non-delay-sensitive services
Solution Approach 1:
The patent segments CPU resources into home CPUs and away CPUs for each container. Home CPUs are dedicated to specific containers for guaranteed performance, while away CPUs are shared for improved resource utilization. This segmentation allows delay-sensitive services to run on home CPUs with priority, while non-delay-sensitive services can utilize away CPUs, resolving the conflict between resource utilization and service performance.
Solution Approach 2:
The patent applies different quality levels of CPU resources to different services based on their requirements. Delay-sensitive services receive high-quality guaranteed CPU resources (home CPUs) with priority scheduling, while non-delay-sensitive services use lower-quality shared CPU resources (away CPUs). This local differentiation of resource quality allows the system to simultaneously achieve high resource utilization and maintain service performance for critical applications.
2Loss of energy
If idle CPUs are allocated to run service processes, then resource utilization improves, but scheduling delay increases affecting service performance
Solution Approach 1:
The patent implements dynamic CPU allocation where containers can flexibly use either home CPUs or away CPUs based on real-time load conditions and service requirements. The system dynamically adjusts which CPU type serves which container, allowing idle away CPUs to be utilized for non-critical services without impacting the scheduling delay of delay-sensitive services running on home CPUs.
Solution Approach 2:
The patent enables containers to self-manage their CPU allocation by selecting appropriate CPU types based on their own service characteristics. Delay-sensitive services automatically utilize home CPUs with priority scheduling to minimize scheduling delay, while non-delay-sensitive services utilize away CPUs to improve overall resource utilization. This self-service mechanism resolves the contradiction without requiring external intervention.
3Loss of energy
If multiple services share the same CPU resources, then resource utilization improves, but conflicts between services increase leading to performance degradation
Solution Approach 1:
The patent segments CPU resources into dedicated home CPUs and shared away CPUs, creating clear boundaries between different service domains. This segmentation prevents harmful interactions by isolating delay-sensitive services on home CPUs from non-delay-sensitive services on away CPUs, while still allowing controlled sharing when appropriate. The segmentation mechanism fundamentally reduces service conflicts while maintaining high resource utilization.
Solution Approach 2:
The patent introduces an intermediary CPU allocation mechanism that mediates between competing service requirements. The system acts as an intermediary by assigning home CPUs as guaranteed resources and away CPUs as shared resources, with clear rules for when and how services can access each type. This intermediary allocation strategy prevents direct conflicts between services while maximizing overall CPU utilization.
Data Source
AI summary
A container-based process scheduling method includes: obtaining, for a container, running state data of a home central processing unit (CPU) of the container periodically, the home CPU having a binding relationship with the container, a quantity of CPUs bound to the container being less than a target quantity required for meeting a service running requirement of the container; performing service process migration between the home CPU and an away CPU in response to the running state data of the home CPU meeting a load balancing condition, the away CPU not having a binding relationship with the container; determining, in response to a first service process in the container being migrated, a running priority of the first service process on a CPU to which the first service process is migrated; and running the first service process according to the determined running priority.


