Hierarchical Processor Array for Graphics Workload Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing approach of increasing parallelism at each stage of a stage-by-stage graphics pipeline becomes inefficient and unwieldy, leading to decreased utilization and increased design complexity, making it unsustainable for continued performance improvement in graphics processing and general computing.

Innovation Solution

A hierarchical processor structure is introduced, where each level of hierarchy comprises similarly structured components capable of performing multiple classes of graphics operations, allowing for redundancy and efficient work distribution and result collection, enabling single-instruction-multiple-data and multithreaded operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the number of parallel computational units is increased at each stage of the pipeline, then processing performance is improved, but design complexity and device complexity increase significantly

Engineering Contradiction:
Improveprocessing performanceVSAvoiddesign complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processor is divided into multiple hierarchical levels (first level components, second level components, third level components), where each level contains a manageable number of parallel units. This segmentation allows the system to achieve high overall parallelism while keeping each individual stage's design complexity manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested hierarchical structure where first level components contain multiple second level components, which in turn contain multiple third level components. This nesting enables the system to scale performance by adding hierarchical levels rather than simply increasing parallelism at each stage, thereby controlling design complexity.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Productivity

If massively parallel stages are implemented, then processing capacity is increased, but control granularity is reduced

Engineering Contradiction:
Improveprocessing capacityVSAvoidcontrol granularity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The hierarchical structure segments the parallel computational units into multiple levels, allowing fine-grained control at lower levels while maintaining high aggregate processing capacity at upper levels. Each level can be independently controlled and optimized.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The work distribution mechanism dynamically assigns tasks to appropriate hierarchical levels and components based on workload characteristics, enabling adaptive control granularity that matches the complexity of the processing task.

Inventive Principle:
Principle #15Dynamics

3Productivity

If more parallel units are added to each stage, then throughput is improved, but resource utilization decreases

Engineering Contradiction:
ImprovethroughputVSAvoidresource utilization
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The work distribution units monitor workload characteristics and system state, then dynamically allocate tasks to hierarchical components to maximize utilization. This feedback mechanism ensures that parallel units are actively engaged based on actual workload demands rather than remaining statically idle.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The hierarchical structure enables dynamic workload distribution where tasks can be routed to appropriate levels and components based on current utilization states, ensuring high throughput while maintaining efficient resource usage across the entire processor.

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If hierarchical structure with multiple levels is implemented, then scalability is improved, but device complexity increases

Engineering Contradiction:
ImprovescalabilityVSAvoidstructural complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The hierarchical structure segments the processor into standardized levels and components that can be independently designed and scaled. Each level follows a consistent structure, making the overall system scalable while managing complexity through repetition of proven design patterns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Components at each hierarchical level are designed with universal interfaces and standardized functions, allowing them to be reused and scaled across different configurations. This universality enables scalability without proportionally increasing structural complexity.

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

Data Source

PatentUS8077174B2Hierarchical processor array
Publication Date: 2011.12.13 NVIDIA CORP
  • US8077174B2 patent drawing
  • US8077174B2 patent drawing
  • US8077174B2 patent drawing

AI summary

Apparatuses and methods are presented for a hierarchical processor. The processor comprises, at a first level of hierarchy, a plurality of similarly structured first level components, wherein each of the plurality of similarly structured first level components includes at least one combined function module capable of performing multiple classes of graphics operations, each of the multiple classes of graphics operations being associated with a different stage of graphics processing. The processor comprises, at a second level of hierarchy, a plurality of similarly structured second level components positioned within each one of the plurality of similarly structured first level components, wherein each of the plurality of similarly structured second level components is capable of carrying out different operations from the multiple classes of graphics operations, wherein each first level component is adapted to distribute work to the plurality of similarly structured second level components positioned within the first level component.