CPU Resource Pool Allocation for Virtual Machine Fairness

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveresource utilizationVSAvoidallocation unfairness
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improvequality of serviceVSAvoidresource efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10810045B2Method and apparatus for allocating central processing unit (CPU) resources in a default resource pool
Publication Date: 2020.10.20 HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
  • US10810045B2 patent drawing
  • US10810045B2 patent drawing
  • US10810045B2 patent drawing

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.