Nested Recursive Parallelism for Heterogeneous Computing Load Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems for computational rendering, particularly in graphics processing units (GPUs), face challenges in efficiently distributing loads across heterogeneous architectures due to limitations in flat parallelism, cache misses, and unpredictable data access patterns, which hinder real-time photorealistic rendering.

Innovation Solution

The implementation of nested recursive parallelism within heterogeneous computing architectures, enabled by a computational rendering model that allows for computation and communication overlap, memory transfer, and dynamic task management, using a context-aware compiler and runtime system to optimize workload and data distribution across CPUs and GPUs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If flat parallelism is used in computational rendering, then simplicity of implementation is maintained, but load distribution efficiency deteriorates and cache misses increase

Engineering Contradiction:
Improveimplementation simplicityVSAvoidload distribution efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements nested recursive parallelism where rendering tasks are divided into multiple levels of hierarchical sub-tasks. The top-level task divides the scene into major regions, which are further subdivided into sub-regions, and so on. This nested structure enables efficient load distribution across heterogeneous computing resources while maintaining implementation feasibility through systematic decomposition.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The rendering workload is segmented into independent, manageable units that can be distributed across multiple processors. The scene is divided into spatial regions, and each region is further segmented into sub-regions, creating a hierarchical task structure that improves load distribution efficiency without significantly increasing implementation complexity.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If flat parallelism is used in computational rendering, then device complexity is reduced, but rendering speed and real-time performance deteriorate

Engineering Contradiction:
Improvecomputational structure complexityVSAvoidrendering speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent introduces dynamic load balancing mechanisms that adaptively adjust task distribution based on real-time processor status and workload characteristics. The hierarchical parallelism structure allows dynamic allocation of sub-tasks to available computing resources, enabling real-time rendering performance without requiring overly complex static architectures.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent transitions from two-dimensional flat parallelism to multi-dimensional hierarchical parallelism by adding the temporal dimension and task dependency dimension. This allows rendering operations to be organized in multiple layers with explicit data flow and dependency relationships, improving rendering speed while managing complexity through structured organization.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Ease of operation

If computation and communication are separated, then task management simplicity is maintained, but performance efficiency deteriorates due to idle processing time

Engineering Contradiction:
Improvetask management simplicityVSAvoidperformance efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements computation-communication overlap where data transfer and processing operations occur simultaneously. While one processor communicates results to another, the receiving processor begins processing the incoming data without waiting for complete transmission. This continuous utilization of processing resources improves performance efficiency while maintaining manageable task management through the hierarchical structure.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent performs preliminary data preparation and pre-computation of intermediate results that can be used by subsequent tasks. By preparing data in advance and organizing it in a hierarchical structure, the system enables overlapping of computation and communication phases, improving efficiency without significantly complicating task management.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11263060B2Dynamic distribution of loads across heterogeneous computing structures in computational rendering
Publication Date: 2022.03.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11263060B2 patent drawing
  • US11263060B2 patent drawing
  • US11263060B2 patent drawing

AI summary

Embodiments for dynamically distributing loads in computational rendering in a computing environment. A computational rendering model on a computational rendering to exploit nested recursive parallelism within a heterogenous computing architecture to enable communication overlap, memory transfer, and data and task management, wherein the computational rendering model is developed for the heterogenous computing architecture.