Parallel Processor Dynamic Resource Allocation for Compute Graphics Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveresource utilizationVSAvoidresource allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvetask handling flexibilityVSAvoidcontext switching latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If all processing units are allocated to one pipeline, then that pipeline's performance is maximized, but the other pipeline becomes idle

Engineering Contradiction:
Improvepipeline performanceVSAvoidwasted processing capacity
Core Design Contradiction:
ProductivityVSLoss of energy

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10217183B2System, method, and computer program product for simultaneous execution of compute and graphics workloads
Publication Date: 2019.02.26 NVIDIA CORP
  • US10217183B2 patent drawing
  • US10217183B2 patent drawing
  • US10217183B2 patent drawing

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.