Wavefront Execution Ordering via Scoreboard and Sleep Mode

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing parallel processing systems face inefficiencies when executing processes or threads require ordered operations, as current methods like memory polling are power-intensive and lack guarantees for execution order.

Innovation Solution

A system utilizing a scoreboard structure and controller with counters to manage the order of operations, allowing processes to execute out of order unless ordered, where processes in need of ordered execution are placed in sleep mode until they are the oldest, ensuring ordered processing based on an assigned ID scheme.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory polling is used to ensure ordered execution of processes, then execution order is guaranteed, but power consumption and memory usage increase significantly

Engineering Contradiction:
Improveexecution order guaranteeVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary actions by pre-assigning sequence numbers to wavefronts when they are created, and pre-establishing the ordering relationships in the scoreboard structure. This allows the system to know in advance which wavefronts need to execute in what order, eliminating the need for continuous memory polling to determine execution order.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scoreboard structure acts as an intermediary between the wavefronts and the execution units. Instead of wavefronts directly polling memory to check if they can execute, the scoreboard maintains the ordering information and allows execution units to efficiently determine whether a wavefront is ready to execute by checking the scoreboard, significantly reducing memory access requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If memory polling is used to ensure ordered execution of processes, then execution order is guaranteed, but memory access frequency increases

Engineering Contradiction:
Improveexecution order guaranteeVSAvoidmemory access efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-assigning sequence numbers to wavefronts when they are created, and pre-establishing the ordering relationships in the scoreboard structure. This allows the system to know in advance which wavefronts need to execute in what order, eliminating the need for continuous memory polling to determine execution order.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scoreboard structure acts as an intermediary between the wavefronts and the execution units. Instead of wavefronts directly polling memory to check if they can execute, the scoreboard maintains the ordering information and allows execution units to efficiently determine whether a wavefront is ready to execute by checking the scoreboard, significantly reducing memory access requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If processes execute out of order to improve efficiency, then processing speed increases, but ordered execution requirements are violated

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidexecution order guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adapts the execution order of wavefronts based on their ordering requirements. Wavefronts that do not require ordered execution can execute out of order to maximize processing efficiency, while wavefronts that require ordered execution are automatically managed through the scoreboard mechanism to maintain the correct sequence. This dynamic approach allows the system to optimize for both speed and correctness.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Different wavefronts are treated differently based on their specific ordering requirements. The scoreboard structure allows the system to apply ordering constraints locally to specific wavefronts that need them, while allowing other wavefronts to execute freely out of order. This selective application of ordering constraints maintains overall system efficiency while ensuring correctness where required.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9304772B2Ordering thread wavefronts instruction operations based on wavefront priority, operation counter, and ordering scheme
Publication Date: 2016.04.05 ATI TECHNOLOGIES ULC
  • US9304772B2 patent drawing
  • US9304772B2 patent drawing
  • US9304772B2 patent drawing

AI summary

A system and method is provided for improving efficiency, power, and bandwidth consumption in parallel processing. Rather than requiring memory polling to ensure ordered execution of processes or threads in wavefronts, the techniques disclosed herein provide a system and method to allow any process or thread in a wavefront to run out of order as long as needed, but ensure ordered execution of multiple ordered instructions when needed. These operations are handled efficiently in hardware, but are flexible enough to be implemented in all manner of programming models.