Parallel Processor Dynamic Resource Allocation for Compute Graphics Workloads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional processor architectures are inefficient in handling simultaneous compute and graphics workloads due to fixed resource allocation and high latency context switching, leading to underutilization of resources and inefficiencies in processing both types of tasks.
Innovation Solution
A dynamic allocation method within a parallel processor that reallocates processing units between graphics and compute pipelines based on workload demands, allowing for simultaneous execution without unnecessary context switching, thereby optimizing resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If processing units are fixed to either graphics or compute pipelines, then resource allocation is simple, but resource utilization is low when only one task type is being executed
Solution Approach 1:
The patent implements dynamic allocation of processing units between graphics and compute pipelines. The allocation is not fixed but changes based on workload demands, allowing processing units to be reassigned from graphics to compute tasks or vice versa as needed, thereby improving resource utilization without permanent complexity
Solution Approach 2:
The system changes the allocation parameter of processing units dynamically based on workload characteristics. When graphics workload is high, more units are allocated to graphics pipeline; when compute workload is high, units are reallocated to compute pipeline, optimizing resource utilization according to actual needs
2Adaptability or versatility
If context switching is used to handle different task types, then task flexibility is improved, but latency increases due to switching overhead
Solution Approach 1:
The patent segments processing units into multiple groups that can be independently allocated to different pipelines. This allows simultaneous execution of graphics and compute tasks on different segments without requiring context switching, as each segment operates independently on its assigned task type
Solution Approach 2:
Processing units are designed with multi-functionality, capable of operating in both graphics and compute modes. By allocating specific units to specific pipelines based on workload, the system achieves task flexibility without the overhead of context switching, as units are preemptively assigned rather than dynamically switched
3Productivity
If all processing units are allocated to one pipeline, then that pipeline's performance is maximized, but the other pipeline becomes idle
Solution Approach 1:
The allocation of processing units to graphics and compute pipelines is dynamic rather than static. The system continuously monitors workload demands and reallocates processing units accordingly, ensuring that processing capacity is actively used for both task types when needed rather than remaining idle
Solution Approach 2:
The patent changes the allocation parameter of processing units based on workload characteristics. When one pipeline has sufficient capacity, processing units are reallocated to the other pipeline to balance the load and prevent idle capacity, optimizing overall system utilization
Data Source
AI summary
A system, method, and computer program product are provided for allocating processor resources to process compute workloads and graphics workloads substantially simultaneously. The method includes the steps of allocating a plurality of processing units to process tasks associated with a graphics pipeline, receiving a request to allocate at least one processing unit in the plurality of processing units to process tasks associated with a compute pipeline, and reallocating the at least one processing unit to process tasks associated with the compute pipeline.


