CPU Resource Pool Allocation for Virtual Machine Fairness
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current CPU overcommitment in virtualization technologies leads to inefficient allocation of physical CPU resources, where higher-priority virtual machines dominate, preventing lower-priority machines from accessing resources, resulting in imbalanced allocation and reduced efficiency.
Innovation Solution
The method involves dividing physical CPU cores into separate resource pools based on service levels, dynamically adjusting the number of allocated cores between these pools according to the number of virtual machines, ensuring efficient use and reliable quality of service by isolating and reallocating resources based on demand.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If CPU overcommitment is implemented to fully use physical resources, then resource utilization is improved, but allocation fairness deteriorates as higher-priority virtual machines dominate and lower-priority machines cannot obtain resources
Solution Approach 1:
The patent segments the physical CPU resources into multiple resource pools (e.g., guaranteed pool, shared pool, premium pool) with different service levels. Each pool has isolated physical cores that are allocated to virtual machines based on their subscription and service level agreements. This segmentation prevents any single virtual machine from dominating all resources while ensuring fair distribution across different priority levels.
Solution Approach 2:
The patent applies local quality by assigning different service level qualities to different resource pools. Each pool has specific characteristics (guaranteed allocation, shared allocation, premium allocation) that match the requirements of different virtual machines. This allows the system to provide differentiated resource allocation where high-priority VMs get premium service while low-priority VMs get basic service, rather than treating all VMs equally or allowing one size to fit all.
2Reliability
If physical CPU resources are allocated according to priorities, then quality of service for high-priority virtual machines is improved, but resource efficiency deteriorates as lower-priority virtual machines cannot obtain available resources
Solution Approach 1:
The patent implements dynamic resource allocation within each resource pool based on the number of active virtual machines and their service level agreements. When the number of VMs in a pool changes, the system dynamically adjusts the allocation of physical cores to that pool. This dynamic adjustment ensures that resources are efficiently utilized - high-priority VMs get guaranteed service quality while available resources are automatically made accessible to lower-priority VMs when capacity permits, eliminating the waste of idle resources.
Solution Approach 2:
The patent employs feedback mechanisms where the system continuously monitors the number of virtual machines in each resource pool and adjusts resource allocation accordingly. When VMs are added or removed from a pool, the system receives feedback about the changed state and automatically reallocates physical cores to maintain optimal resource utilization while preserving service level agreements. This feedback loop prevents both over-allocation and under-utilization of resources.
Data Source
AI summary
A method for allocating a central processing unit resource to a virtual machine, including determining, according to a change in the number of virtual machines in an advanced resource pool, the number of allocated physical cores in the advanced resource pool; and adjusting, according to the number of the allocated physical cores in the advanced resource pool, the number of allocated physical cores in a default resource pool, where the advanced resource pool and the default resource pool are resource pools that are obtained by dividing physical cores of a central processing unit according to service levels of the resource pools.


