Dynamic GPU Allocation for Virtual Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems face inefficiencies in dynamically allocating graphics processing unit (GPU) resources among virtual machines, leading to suboptimal utilization and performance, as existing methods do not effectively prioritize workload-based benefits and runtime adjustments.

Innovation Solution

A dynamic GPU allocation system (DGAS) that assigns a GPU benefit factor (GBF) to each virtual machine based on workload type and adjusts resource allocation dynamically, combining GBFs with static priorities to optimize GPU resource distribution, using a GPU allocation list to manage and maintain rank ordering and allocate resources accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If static priority-based GPU allocation is used, then allocation simplicity is maintained, but workload-based optimization is lost

Engineering Contradiction:
ImproveGPU resource utilization efficiencyVSAvoidallocation system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic GPU allocation by continuously monitoring virtual machine workload characteristics and adjusting GPU benefit factors in real-time. The system transitions from static priority-based allocation to a dynamic model where allocation decisions are based on current workload analysis, allowing the system to adapt to changing conditions and optimize resource distribution automatically.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms by monitoring virtual machine workload characteristics, GPU usage patterns, and performance metrics. This feedback is used to adjust GPU benefit factors and refine allocation decisions, creating a closed-loop system that continuously improves resource utilization efficiency based on actual performance data.

Inventive Principle:
Principle #23Feedback

2Productivity

If dynamic workload-based allocation is implemented, then resource optimization improves, but allocation latency increases

Engineering Contradiction:
ImproveGPU resource allocation efficiencyVSAvoidallocation decision latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-establishing allocation policies, workload classification rules, and priority frameworks before actual allocation events occur. This preparation enables faster decision-making during runtime, as the system only needs to apply pre-defined rules rather than creating allocation strategies from scratch, thus reducing allocation latency while maintaining optimization.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If GPU benefit factors are continuously adjusted, then allocation accuracy improves, but system overhead increases

Engineering Contradiction:
Improveworkload benefit assessment accuracyVSAvoidsystem overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system manages complexity by changing key parameters such as workload classification thresholds, GPU benefit factor weights, and allocation priorities based on observed patterns and performance data. Rather than continuously adjusting all system parameters, the approach modifies critical parameters periodically or in response to significant workload changes, maintaining accuracy while minimizing system overhead.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9142004B2Dynamic allocation of physical graphics processing units to virtual machines
Publication Date: 2015.09.22 VMWARE INC
  • US9142004B2 patent drawing
  • US9142004B2 patent drawing
  • US9142004B2 patent drawing

AI summary

Methods, techniques, and systems for dynamically allocating graphics processing units among virtual machines are provided. Example embodiments provide a dynamic GPU allocation system (“DGAS”), which enables the efficient allocation of physical GPU resources to one or more virtual machines. In one embodiment, the DGAS comprises virtualization logic running on a server computing system that computes GPU benefit factors for the virtual machines on a dynamic basis, and combines the computed GBFs with static priorities to determine a ranked ordering of virtual machines. The available GPU resources are then allocated to some subset of these ranked virtual machines as physical GPU capacity is matched with the requirements of the subset. Physical GPU resources are then allocated to the subset of virtual machines that have the highest promise of GPU utilization.