Tile Traversal Paths for Load-Balanced Graphics Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current tile allocation strategies in multi-processor tile-based graphics processing systems suffer from inefficiencies such as lack of load balancing and impairment of spatial coherency between tiles, leading to idle processors and suboptimal rendering times.

Innovation Solution

A method where each rendering processor is initially allocated a different tile, and subsequent tiles are allocated along a traversal path that prioritizes spatial adjacency, allowing processors to exploit coherency and maintain busy status until all tiles are processed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If tiles are allocated to rendering processors using fixed spatial partitioning (e.g., top half to processor 0, bottom half to processor 1), then the allocation is simple to implement, but load balancing deteriorates because processors may idle waiting for others to catch up when detail distribution is uneven

Engineering Contradiction:
Improveallocation simplicityVSAvoidload balancing efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements dynamic tile allocation where processors continuously steal tiles from each other's queues based on completion status. The allocation strategy transitions from static spatial partitioning to dynamic work redistribution, allowing processors to adapt to varying workload conditions in real-time and maintain balanced progress across all processors.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms where processors monitor completion status and actively steal tiles from others when behind. This feedback loop enables automatic load balancing without external intervention, with processors adjusting their workload based on real-time progress information from the rendering system.

Inventive Principle:
Principle #23Feedback

2Productivity

If tiles are allocated sequentially to the first available processor (round-robin style), then load balancing improves, but spatial coherency deteriorates because adjacent tiles are scattered across different processors

Engineering Contradiction:
Improveload balancing efficiencyVSAvoidspatial coherency preservation
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent maintains spatial coherency dynamically by allowing processors to steal tiles from adjacent regions when available. The tile stealing mechanism preserves spatial locality for tiles that remain on the same processor while enabling load balancing through selective theft, thus maintaining both objectives simultaneously rather than sacrificing one for the other.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system applies different allocation strategies to different tile regions based on local characteristics. Adjacent tiles are preferentially kept together on the same processor to maintain spatial coherency, while the overall distribution is balanced through controlled theft from behind processors. This local quality approach preserves coherence where beneficial while achieving balance where necessary.

Inventive Principle:
Principle #3Local quality

3Productivity

If multiple independent tile rendering processors are used, then rendering speed improves through parallel processing, but coordination complexity increases due to the need for efficient tile allocation strategies

Engineering Contradiction:
Improverendering throughputVSAvoidtile allocation coordination
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service tile allocation where processors autonomously manage their own work queues and actively steal tiles from others based on their completion status. This self-service mechanism eliminates the need for complex centralized coordination or external management, allowing multiple processors to independently optimize their own workload while maintaining system-wide balance.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses feedback from processor completion status to drive autonomous tile stealing decisions. Each processor continuously monitors its progress relative to others and automatically adjusts its workload by stealing tiles when behind, eliminating the need for complex coordination protocols while maintaining efficient parallel processing.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9122646B2Graphics processing systems
Publication Date: 2015.09.01 ARM LTD
  • US9122646B2 patent drawing
  • US9122646B2 patent drawing
  • US9122646B2 patent drawing

AI summary

In a tile-based graphics processing system having plural rendering processors, the set of tiles 31 to be processed to generate an output frame 30 for display is partitioned among the different rendering processors by defining respective tile traversal paths 32, 33, 34, 35 for each rendering processor that start at a tile initially allocated to the processor and that, at least for the initial tiles along the path, traverse to spatially adjacent tiles in the output, and that will traverse every tile to be rendered if followed to their end. The next tile for a given rendering processor to process is then selected as being the next tile along its defined path, unless the next tile in the path has already been processed (or is already being processed) by another rendering processor, in which case the next tile to be allocated to the rendering processor is selected to be a free tile further on in the tile traversal path for that processor.