Virtual GPU Mediated Pass-Through for Multi-VM Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current GPU virtualization technologies face challenges in efficiently sharing graphics memory among multiple virtual machines while maintaining performance and secure isolation, particularly in scenarios where multiple virtual machines need to access performance-critical resources without hypervisor intervention.

Innovation Solution

The implementation of a full GPU virtualization environment with mediated pass-through and trap-and-emulation for privileged operations, allowing each virtual machine to access a virtual GPU directly while using extended page tables and IOMMU for address translation, enabling efficient resource sharing and secure isolation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If hardware support for address translation is used, then translation speed is improved, but device sharing capability deteriorates

Engineering Contradiction:
Improvetranslation speedVSAvoiddevice sharing capability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent introduces a page table walker as an intermediary component that mediates between the GPU's address translation needs and the host system's memory management. This page table walker implements software-based address translation that can dynamically serve multiple virtual machines, resolving the contradiction between fast translation (hardware support) and multi-VM sharing (device sharing capability).

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates shadow page tables that copy and mirror the host's page table structure, allowing the GPU to perform address translation using a simplified shadow structure rather than directly accessing complex host page tables. This copying approach enables fast translation while maintaining the ability to support multiple VMs through the shadow table mechanism.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If software approach with shadow structures is used, then multi-VM sharing capability is improved, but translation performance deteriorates

Engineering Contradiction:
Improvemulti-VM sharing capabilityVSAvoidtranslation performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the address translation process into multiple stages: shadow page table lookup for rapid translation, with fallback to full page table walks only when necessary. This segmentation allows the system to achieve multi-VM sharing through shadow structures while maintaining high translation performance by avoiding complete software-based translation for every access.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary setup of shadow page tables that pre-compute and cache the essential address translation mappings needed for GPU operations. This preliminary action enables fast translation performance while the shadow structure itself provides multi-VM sharing capability, resolving the performance-dcapability contradiction.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If GPU is passed through to one VM, then performance is improved, but adaptability deteriorates

Engineering Contradiction:
ImproveperformanceVSAvoidadaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic GPU virtualization where the GPU can be dynamically allocated to different VMs based on workload requirements. The system uses dynamic context switching and runtime page table updates to provide near-pass-through performance to active VMs while maintaining the adaptability to serve multiple different VMs over time, resolving the performance-adaptability contradiction.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11798125B2Apparatus and method for dynamic provisioning, quality of service, and prioritization in a graphics processor
Publication Date: 2023.10.24 INTEL CORP
  • US11798125B2 patent drawing
  • US11798125B2 patent drawing
  • US11798125B2 patent drawing

AI summary

An apparatus and method for dynamic provisioning, quality of service, and prioritization in a graphics processor. For example, one embodiment of an apparatus comprises a graphics processing unit (GPU) comprising a plurality of graphics processing resources; slice configuration hardware logic to logically subdivide the graphics processing resources into a plurality of slices; and slice allocation hardware logic to allocate a designated number of slices to each virtual machine (VM) of a plurality of VMs running in a virtualized execution environment, the slice allocation hardware logic to allocate different numbers of slices to different VMs based on graphics processing requirements and/or priorities of each of the VMs.