Parallel Processing Unit Partitioning for Multitenancy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional GPUs face inefficiencies when handling multiple CPU processes simultaneously due to unfair resource allocation and interference between processing subcontexts, leading to reduced performance and multitenancy issues in cloud-based deployments.
Innovation Solution
A parallel processing unit (PPU) is partitioned into logical groups to support multiple processing contexts in functional isolation, allowing each context to utilize resources efficiently without interference, through the use of a hypervisor that allocates and configures PPU resources independently for each user.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple processing subcontexts share a parent context to enable simultaneous execution of multiple CPU processes on GPU, then resource utilization improves, but resource allocation fairness deteriorates
Solution Approach 1:
The patent divides a single GPU context into multiple isolated subcontexts, each capable of independent execution. This segmentation allows different CPU processes to run simultaneously in separate subcontexts while maintaining resource allocation fairness through isolation, preventing one subcontext from monopolizing GPU resources at the expense of others.
2Productivity
If processing subcontexts share a parent context to enable concurrent execution, then productivity improves, but fault isolation deteriorates
Solution Approach 1:
The patent creates isolated subcontexts that function as separate execution environments within the parent context. Each subcontext maintains independent state and resource access, ensuring that faults in one subcontext cannot propagate to other subcontexts or the parent context, thereby achieving both concurrent execution and fault isolation.
3Device complexity
If a single context is used for multiple CPU processes to simplify management, then device complexity reduces, but resource utilization deteriorates
Solution Approach 1:
The patent implements a parent context structure that can universally accommodate multiple subcontexts, each handling different CPU processes. This multi-functional design allows the single parent context to manage multiple subcontexts efficiently, simplifying overall context management while enabling full GPU resource utilization through concurrent subcontext execution.
Data Source
AI summary
A parallel processing unit (PPU) can be divided into partitions. Each partition is configured to operate similarly to how the entire PPU operates. A given partition includes a subset of the computational and memory resources associated with the entire PPU. Software that executes on a CPU partitions the PPU for an admin user. A guest user is assigned to a partition and can perform processing tasks within that partition in isolation from any other guest users assigned to any other partitions. Because the PPU can be divided into isolated partitions, multiple CPU processes can efficiently utilize PPU resources.


