Virtual Machine Monitor CPU Load Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual machine scheduling algorithms, such as BVT and SEDF, fail to maximize CPU resource utilization due to inefficient allocation of true CPU resources, leading to waste as they do not accurately account for varying loads across virtual CPUs.

Innovation Solution

A method and device implemented by a virtual machine monitor (VMM) that acquires information on virtual CPU loads using interrupt response times and/or the number of interrupt requests, assigning more resources to VCPUs with higher loads, ensuring the total resources allocated equal the available CPU resources and maintaining a resource ratio aligned with load indices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the BVT scheduling algorithm is used to assign true CPU resources averagely to all VCPUs, then each VCPU occupies the same amount of true CPU resources, but CPU resources are wasted because VCPUs with different loads receive the same CPU time

Engineering Contradiction:
Improvesimplicity of scheduling algorithmVSAvoidCPU resource utilization efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent changes the scheduling parameter from equal time allocation to load-based time allocation. The VMM measures the load of each VCPU (e.g., through interrupt response time or number of interrupt requests) and dynamically adjusts the true CPU time allocation proportion according to the measured load, thereby improving CPU resource utilization efficiency while maintaining algorithmic simplicity.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If the SEDF method is used to assign more true CPU resources to OSs requesting more resources, then true CPU resources are utilized more efficiently, but special programs must be provided in each guest operating system making the system not versatile

Engineering Contradiction:
ImproveCPU resource utilization efficiencyVSAvoidcompatibility with different guest operating systems
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a self-service mechanism where the VMM directly measures the load of each VCPU without requiring assistance from the guest operating systems. By measuring parameters such as interrupt response time or number of interrupt requests at the VMM level, the system eliminates the need for special programs in guest OSs, thereby achieving both high CPU resource utilization efficiency and universal compatibility across different guest operating systems.

Inventive Principle:
Principle #25Self-service

3Productivity

If special programs are provided in guest operating systems to count CPU resources as in SEDF method, then more true CPU resources can be assigned to OSs requesting more resources, but the device complexity increases due to need for different programs for different OSs

Engineering Contradiction:
ImproveCPU resource allocation accuracyVSAvoidcomplexity of scheduling system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the load measurement function from the guest operating systems and relocates it to the VMM. By taking out the resource counting responsibility from guest OSs and implementing it at the VMM level through direct measurement of VCPU load parameters, the system achieves accurate CPU resource allocation without increasing device complexity through multiple OS-specific programs.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8191064B2Method and device for scheduling true CPU resources for a virtual machine system
Publication Date: 2012.05.29 LENOVO (BEIJING) LTD
  • US8191064B2 patent drawing
  • US8191064B2 patent drawing
  • US8191064B2 patent drawing

AI summary

A method and a device for scheduling true CPU resources for a virtual machine system are disclosed. In one aspect a virtual machine monitor (VMM) acquires information about loads on virtual CPUs (VCPUs), and the VMM assigns the true CPU resources based on the information about the loads on the VCPUs in such a manner that more true CPU resources are assigned to a VCPU with a higher load. With the method and device according to certain embodiments, it is possible to assign the true CPU resources based on the information about the loads on the VCPUs in such a manner that more true CPU resources are assigned to a VCPU with a higher load. Further, certain embodiments are implemented directly by the VMM irrespective of types of upper-level GOSs, and thus is versatile.