Adaptive GPU Core Virtualization for Multi-VM Resource Utilization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data center GPUs face inefficiencies in workload utilization due to time-sliced virtualization, where a single VM may not fully utilize the GPU resources during its dedicated timeframe, leading to underutilization of compute resources.
Innovation Solution
Implementing adaptive virtualization of GPU cores and engine-based virtualization to dynamically allocate and optimize resource utilization across multiple virtual machines, ensuring efficient use of GPU resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If time-sliced virtualization is used to dedicate an entire GPU to a single VM for a period of time, then resource isolation and security are improved, but GPU resource utilization deteriorates because a single VM may not utilize all execution resources during its timeframe
Solution Approach 1:
The GPU is segmented into multiple virtualization engines (VEs), where each VE can be independently allocated to different VMs. This allows fine-grained resource sharing while maintaining isolation, resolving the contradiction between resource dedication and utilization efficiency
Solution Approach 2:
The virtualization engine allocation is dynamic rather than static. The system can reassign VEs to different VMs based on workload demands in real-time, allowing the GPU to adapt to changing utilization needs while maintaining security boundaries
2Productivity
If adaptive virtualization of GPU cores is implemented to dynamically allocate resources across multiple VMs, then GPU resource utilization is improved, but system complexity increases due to dynamic resource management requirements
Solution Approach 1:
A virtualization engine acts as an intermediary layer between the physical GPU resources and multiple VMs. This intermediary manages the complexity of dynamic resource allocation, presenting a simplified interface to both the hardware and virtual machines while handling the sophisticated resource management internally
Data Source
Figure 1
Figure 2A
Figure 2B~2C
AI summary
One embodiment provides a graphics processor comprising a memory interface, a plurality of interfaces to a plurality of compute engines, a processing resource cluster including a plurality of processing resources, the plurality of processing resources configured to execute instructions on behalf of the plurality of compute engines, and virtualization circuitry configured to enable time-sliced virtualization of the plurality of processing resources via the plurality of compute engines, wherein the virtualization circuitry to concurrently process workloads from a plurality of guest software environments during a time-slice via dynamic assignment of the workloads to the plurality of interfaces to the plurality of compute engines.