Concurrent Compute Contexts for GPU Resource Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current graphics processing units (GPUs) lack efficient partitioning mechanisms to isolate and manage compute resources for multiple clients, leading to potential interference and reduced performance in multi-client environments.
Innovation Solution
Implementing concurrent compute context systems with multiple concurrent compute queues (CCQs) that allow for independent workload management and isolation, enabling each client to execute multiple contexts with dedicated resource allocation and mid-thread preemption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple clients share the same graphics processor resources, then resource utilization increases, but performance interference and isolation between clients deteriorates
Solution Approach 1:
The patent divides the graphics processor resources into multiple compute partitions, each assigned to a specific client. This segmentation allows multiple clients to share the processor while maintaining performance isolation, as each partition operates independently with dedicated compute resources, preventing interference between clients while maximizing overall resource utilization.
2Reliability
If compute resources are partitioned into multiple instances, then performance isolation between clients improves, but device complexity increases
Solution Approach 1:
The graphics processor is divided into multiple compute partitions with dedicated compute resources, enabling performance isolation between clients. Each partition is managed independently, allowing the system to maintain strong isolation guarantees while managing complexity through structured resource allocation and client-specific partition assignment.
3Reliability
If compute operations are confined within partitions, then data isolation improves, but hardware thread utilization may decrease
Solution Approach 1:
The system creates multiple compute partitions with dedicated compute resources, ensuring data isolation between clients while maintaining high hardware thread utilization. Each partition can independently manage its threads and workloads, preventing data interference while keeping processing units actively engaged through client-specific compute tasks.
Data Source
AI summary
Embodiments described herein provide a system of concurrent compute queues that enable the scheduling of a large number of compute contexts simultaneously on graphics processor hardware. One embodiment provides an apparatus comprising a system interface and a general-purpose graphics processor coupled with the system interface. The general-purpose graphics processor comprises a plurality of graphics processor hardware resources configured to be partitioned into a plurality of isolated partitions, each of the plurality of isolated partitions including a first command streamer, a second command streamer, and circuitry configured to schedule general-purpose graphics compute workloads submitted to a first plurality of command queues associated with the first command streamer and a second plurality of command queues associated with the second command streamer.


