Graphics Pipeline Task Suspension for Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graphics processing pipelines face inefficiencies due to long delays from operations like texture fetches, leading to underutilization of resources and reduced throughput, as existing methods do not effectively manage resource allocation and task scheduling.

Innovation Solution

The method involves conditionally suspending tasks at phase boundaries within the texture/shading unit, freeing resources, and reallocating them when conditions for resumption are met, allowing for more efficient task execution and resource utilization by prioritizing suspended tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If tasks are suspended at phase boundaries to free resources, then resource utilization improves, but task execution time increases due to suspension and resumption overhead

Engineering Contradiction:
Improveresource utilizationVSAvoidtask execution time
Core Design Contradiction:
Quantity of substanceVSDuration of action of moving object

Solution Approach 1:

The program is divided into multiple phases with phase boundaries, allowing tasks to be suspended and resumed at specific points. This segmentation enables resource freeing during intermediate phases while maintaining task progress, resolving the contradiction between resource utilization and execution time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically suspends and resumes tasks based on resource availability and phase boundaries. Tasks can be paused at phase boundaries, resources freed for other uses, and then reallocated when needed, creating a dynamic resource management system that balances utilization and execution time.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If resources are freed when tasks are suspended, then resource availability for other tasks improves, but task throughput decreases due to suspension delays

Engineering Contradiction:
Improveresource availabilityVSAvoidtask throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

Tasks are suspended and resumed periodically at phase boundaries rather than continuously. This periodic suspension allows resources to be freed and reallocated in a structured manner, maintaining resource availability while managing throughput through predictable suspension points.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

Resources are temporarily discarded (freed) when tasks are suspended at phase boundaries, then recovered (reallocated) when tasks are resumed. This discarding and recovering mechanism ensures resource availability for multiple tasks while maintaining overall system throughput through efficient resource循环利用.

Inventive Principle:
Principle #34Discarding and recovering

3Loss of time

If phase boundaries are inserted after high-latency instructions, then latency hiding improves, but program complexity increases

Engineering Contradiction:
Improvelatency hidingVSAvoidprogram complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

Phase boundaries are inserted in advance after high-latency instructions like texture fetches. This preliminary action allows the system to prepare for suspension points before executing long-latency operations, enabling better latency hiding while maintaining manageable program structure through systematic phase placement.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20230004437A1Allocation of Resources to Tasks
Publication Date: 2023.01.05 IMAGINATION TECH LTD
  • US20230004437A1 patent drawing
  • US20230004437A1 patent drawing
  • US20230004437A1 patent drawing

AI summary

A method of managing resources in a graphics processing pipeline includes conditionally suspending a task when the task reaches a phase boundary during execution of a program within a texture/shading unit. Suspending the task comprises freeing resources allocated to the task and resources are subsequently re-allocated to the task, such that the task is ready to continue execution, only after determining that the conditions associated with un-suspending the task are satisfied.