Virtual Resource Pooling for Container CPU Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional cloud computing systems lack the ability to control which container on a virtual machine uses specific physical CPU resources, leading to inefficient resource allocation and the inability to host containers for multiple clients on the same virtual machine, resulting in wasted computing resources and inefficiency.
Innovation Solution
A method and system for pooling resources among virtual containers, where allocation information is received to create virtual resource pools and container resource group mappings, allowing specific physical CPUs to be allocated to specific containers, ensuring accurate and efficient resource distribution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional cloud computing systems allocate physical CPUs to virtual machines without container-level control, then virtual machines can host multiple containers, but resource allocation becomes inefficient and containers cannot be mapped to specific physical CPUs
Solution Approach 1:
The patent segments the virtual machine's CPU resources into separate virtual resource pools, with each pool corresponding to a specific container group. This segmentation allows independent allocation and control of CPU resources for each container, enabling precise resource management while maintaining overall system productivity through structured organization of resource distribution channels.
Solution Approach 2:
The patent introduces virtual resource pools as intermediary layers between physical CPUs and containers. These pools act as mediators that enable fine-grained resource allocation control at the container level while maintaining compatibility with the existing virtual machine architecture, thus improving adaptability without sacrificing productivity.
2Adaptability or versatility
If multiple containers are hosted on the same virtual machine without resource pooling, then hosting versatility increases, but resource overlap occurs and computing resources are wasted
Solution Approach 1:
The patent divides CPU resources into distinct virtual resource pools for different container groups, preventing resource overlap by ensuring each container accesses only its allocated pool. This segmentation enables multiple clients to host containers on the same virtual machine while eliminating wasted computing resources through isolated resource allocation.
Solution Approach 2:
The patent assigns specific quality attributes (resource allocation boundaries) to different parts of the system (container groups), where each group has dedicated virtual resource pools with defined CPU allocations. This local quality control ensures that each container group receives appropriate resources without interfering with others, reducing waste while supporting multi-client hosting.
3Productivity
If physical CPUs are shared without container resource group mapping, then system simplicity is maintained, but precise resource allocation and performance optimization cannot be achieved
Solution Approach 1:
The patent segments the resource mapping structure into organized virtual resource pools and container group associations. This segmentation transforms the complexity into a structured, manageable form where each pool has clear boundaries and allocation rules, enabling precise resource allocation while keeping the system architecture comprehensible and maintainable.
Solution Approach 2:
The patent introduces virtual resource pools as intermediary structures that simplify the mapping between physical CPUs and containers. These pools act as organized intermediaries that manage the complexity of resource allocation, providing precise control over resource distribution while maintaining system simplicity through standardized allocation interfaces.
Data Source
AI summary
Method and apparatus for resource pooling. Embodiments receive allocation information for a plurality of containers. Each of the plurality of containers is assigned to one of a plurality of groups. The allocation information specifies, for each of the plurality of groups, a respective number of physical CPUs to allocate to the group. A plurality of virtual resource pools are crated based on the allocation information wherein a single virtual resource pool is created for each of the plurality of groups. Embodiments create a container resource group mapping based on the allocation information. The container resource group mapping is a mapping between one or more physical CPUs in a shared processor pool and the plurality of virtual resource pools. Embodiments provide resources from the one or more physical CPUs to the plurality of containers according to the container resource group table and the virtual resource pools.


