Virtual GPU Mediated Pass-Through for Multi-VM Resource Allocation
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Speed
If hardware support for address translation is used, then translation speed is improved, but device sharing capability deteriorates
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).
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.
2Adaptability or versatility
If software approach with shadow structures is used, then multi-VM sharing capability is improved, but translation performance deteriorates
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.
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.
3Productivity
If GPU is passed through to one VM, then performance is improved, but adaptability deteriorates
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.
Data Source
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.


