CPU Allocation for Container Power Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing container management systems fail to optimize CPU allocation and configuration for efficient power consumption and performance, particularly in environments with limited computational resources or high loads.
Innovation Solution
A method for allocating CPUs into dedicated, shared, and isolated states, using an orchestrator agent to bind CPUs to specific containers, and configuring power states to minimize power consumption while ensuring performance, including generating power profiles for application pools.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If CPUs are allocated to containers with full isolation and dedicated power states, then performance and reliability are improved, but power consumption increases
Solution Approach 1:
The patent segments CPUs into different categories (dedicated CPUs, shared CPUs, and isolated CPUs) with different power states. This segmentation allows the system to allocate full isolation and dedicated power states only to specific containers that require them, while other containers can share CPUs in lower power states, thereby reducing overall power consumption while maintaining reliability for critical containers.
Solution Approach 2:
The patent applies different power state configurations to different CPU allocations based on local container requirements. Critical containers receive full isolation with dedicated power states for maximum reliability, while non-critical containers share CPUs in lower power states. This local quality approach ensures each container receives the appropriate level of power state isolation needed for its specific execution requirements.
2Use of energy by moving object
If CPUs are shared among multiple containers to reduce power consumption, then power efficiency improves, but performance and stability deteriorate
Solution Approach 1:
The patent segments CPU allocation into multiple categories including shared CPUs and isolated CPUs. Containers can be assigned to shared CPU pools where multiple containers share a CPU in lower power states, or to isolated CPU pools where containers receive dedicated CPU access. This segmentation allows the system to optimize for power efficiency in shared pools while maintaining performance in isolated pools, resolving the contradiction between power efficiency and performance.
Solution Approach 2:
The patent implements dynamic CPU allocation where containers can migrate between different CPU power states and isolation levels based on workload demands. When performance is needed, containers can be moved to higher power states or isolated CPUs; when power savings are prioritized, containers can be moved to shared lower power states. This dynamic adjustment resolves the contradiction by allowing the system to adapt to changing performance requirements.
3Stability of the object's composition
If full CPU isolation is implemented for all containers, then stability and security are improved, but device complexity and resource utilization worsen
Solution Approach 1:
The patent segments CPU isolation into different levels: dedicated CPUs with full isolation, shared CPUs with partial isolation, and isolated CPUs with controlled sharing. This segmentation reduces device complexity by providing a hierarchical isolation model where not all containers require the maximum isolation level, thereby simplifying the overall allocation complexity while maintaining stability for containers that need it.
Solution Approach 2:
The patent creates a universal CPU allocation framework that can accommodate multiple isolation levels and power states within a single system. The CPU manager can allocate CPUs in different modes (dedicated, shared, isolated) based on container requirements, providing multi-functionality that reduces complexity compared to implementing separate isolated systems for each container.
4Productivity
If dedicated CPUs are allocated to each container, then performance is improved, but resource utilization and power efficiency worsen
Solution Approach 1:
The patent segments CPU allocation into dedicated CPUs for performance-critical containers and shared CPUs for less demanding containers. This segmentation allows the system to concentrate dedicated CPU resources only where performance is essential, while using shared CPUs in lower power states for other containers, thereby reducing overall energy waste while maintaining high performance where needed.
Solution Approach 2:
The patent changes the power state parameter of CPUs dynamically based on allocation mode. Dedicated CPUs operate in higher power states optimized for performance, while shared CPUs operate in lower power states when serving multiple containers. This parameter change approach allows the system to optimize performance for dedicated allocations while minimizing energy consumption for shared allocations.
Data Source
AI summary
Applications are executed on a host in association with a power profile and a pool of one or more CPUs that are isolated relative to the applications. The power profile includes a lowest power state that is suitable for the applications and achieves required performance for the workload being performed by the applications. The applications may have fractional CPU requirements collectively met by the number of CPUs in the pool. Other components, such as the operating system and one or more agents of one or more orchestrators may be allocated their own isolated pool of CPUs operating at a highest power state. The implementation of isolated CPUs that are shared by multiple applications may be performed by an agent of an orchestrator that is called as the CRI when instantiating containers.


