Dynamic GPU Allocation for Virtual Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face inefficiencies in dynamically allocating graphics processing unit (GPU) resources among virtual machines, leading to suboptimal utilization and performance, as current methods do not effectively prioritize workload-specific 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 its workload, combining it with static priorities to rank and allocate physical GPU resources, using a GPU allocation list (GAL) to manage and adjust allocations dynamically based on runtime profiles and resource availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If static priority-based allocation is used, then simplicity of allocation is maintained, but GPU resource utilization efficiency deteriorates

Engineering Contradiction:
Improveallocation mechanism simplicityVSAvoidGPU resource utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic GPU allocation by introducing a GPU benefit factor (GBF) that is calculated based on runtime workload characteristics. The GBF is updated periodically based on monitoring workload metrics such as GPU command queue depth, memory usage, and processing intensity. This dynamic adjustment allows the system to adapt allocation to actual workload demands rather than relying on static priorities, thereby improving GPU utilization efficiency while maintaining a relatively simple allocation framework.

Inventive Principle:
Principle #15Dynamics

2Productivity

If dynamic workload-based allocation is implemented, then GPU resource utilization efficiency is improved, but complexity of allocation management increases

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

Solution Approach 1:

The system employs feedback mechanisms by continuously monitoring workload metrics from virtual machines and using this information to adjust GPU benefit factors. The hypervisor collects runtime data including command queue depth, memory usage patterns, and processing intensity, then feeds this information back into the allocation algorithm. This feedback loop enables automatic adaptation to workload changes without requiring complex manual intervention, balancing improved utilization with manageable system complexity.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent enables virtual machines to effectively self-service GPU resources by calculating GPU benefit factors based on their own workload characteristics. Each VM's workload metrics automatically contribute to determining its GBF, allowing the system to self-adjust allocations based on actual usage patterns without requiring external management intervention for each allocation decision.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If GPU resources are allocated to all virtual machines, then fairness of resource distribution is improved, but overall system performance deteriorates due to suboptimal utilization

Engineering Contradiction:
Improveresource distribution fairnessVSAvoidsystem performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent applies local quality by differentiating GPU allocation based on the specific workload characteristics of each virtual machine. Rather than uniform distribution, the system calculates individual GPU benefit factors for each VM based on their unique workload metrics such as processing intensity, memory usage, and command queue depth. This allows resources to be concentrated on VMs that derive the greatest benefit from GPU acceleration while maintaining fairness through transparent, metric-based allocation decisions.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9298490B2Managing a data structure for allocating graphics processing unit resources to virtual machines
Publication Date: 2016.03.29 VMWARE INC
  • US9298490B2 patent drawing
  • US9298490B2 patent drawing
  • US9298490B2 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 a GPU allocation list for use in allocating the physical GPU resources comprising one or more virtual machine entries each containing a designation of a virtual machine, an indication of a GPU benefit factor associated with the designated virtual machine, and an indication of processing bandwidth requirements associated with the designated virtual machine. The entries are ranked based at least upon the GPU benefit factor associated with each designated virtual machine. Available GPU resources are allocated to some subset of these ranked virtual machines as physical GPU capacity is matched with the requirements of the subset.