VCPU Scheduling via Special-Purpose Register Usage Estimation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for scheduling virtual central processing units (VCPUs) that use special-purpose registers often incur significant overhead due to context switching, as VCPUs assigned to the same physical processing core compete for these registers, leading to inefficient usage and increased load/save operations.

Innovation Solution

A method that estimates the usage levels of special-purpose registers and assigns physical processing cores to VCPUs based on these estimates, aiming to reduce the usage of special-purpose registers per core, minimize context switching, and distribute their usage among multiple cores, using a hypervisor with a monitoring and scheduling module to optimize core allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If VCPUs are assigned to physical processing cores without considering special-purpose register usage, then scheduling simplicity is maintained, but context switching overhead increases due to competition for special-purpose registers

Engineering Contradiction:
Improvescheduling complexityVSAvoidcontext switching overhead
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system performs preliminary assessment of special-purpose register usage levels for each VCPU before assignment. The hypervisor monitors and estimates usage levels in advance, then uses this information to make informed scheduling decisions that prevent register competition, thereby reducing context switching overhead without significantly increasing scheduling complexity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The hypervisor continuously monitors special-purpose register usage levels and uses this feedback to dynamically adjust VCPU-to-core assignments. This feedback mechanism enables the system to adapt to changing workload patterns and optimize register usage distribution, reducing context switching overhead while maintaining manageable scheduling complexity through automated control

Inventive Principle:
Principle #23Feedback

2Device complexity

If VCPUs are assigned to physical processing cores without register usage consideration, then assignment simplicity is maintained, but number of load/save operations increases due to register competition

Engineering Contradiction:
Improveassignment complexityVSAvoidprocessing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

Before assigning VCPUs to physical cores, the system performs preliminary assessment of special-purpose register usage levels. This advance knowledge allows the hypervisor to make assignments that minimize register competition, thereby reducing the number of load/save operations required during context switching and improving overall processing efficiency without significantly increasing assignment complexity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The hypervisor monitors special-purpose register usage and uses this feedback to optimize VCPU assignments. By continuously adapting assignments based on actual usage patterns, the system minimizes register competition and reduces load/save operations, improving processing efficiency while keeping assignment complexity manageable through automated control

Inventive Principle:
Principle #23Feedback

3Productivity

If multiple VCPUs competing for special-purpose registers are assigned to the same core, then core utilization is maximized, but usage efficiency of special-purpose registers deteriorates

Engineering Contradiction:
Improvecore utilizationVSAvoidregister usage efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system applies different scheduling strategies to different physical cores based on the special-purpose register usage levels of assigned VCPUs. By identifying and isolating VCPUs with high register usage to separate cores, the system improves local register usage efficiency while maintaining overall core utilization through balanced distribution of workloads across available cores

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9753770B2Register-type-aware scheduling of virtual central processing units
Publication Date: 2017.09.05 MELLANOX TECHNOLOGIES LTD(IL)
  • US9753770B2 patent drawing
  • US9753770B2 patent drawing
  • US9753770B2 patent drawing

AI summary

A method includes running multiple processing tasks on multiple physical processing cores that support general-purpose registers and special-purpose registers. Respective usage levels, with which the processing tasks use the special-purpose registers, are estimated. The physical processing cores are assigned to the processing tasks based on the estimated usage levels of the special-purpose registers.