In-Order Processor Data Dependency Management via Greedy Wait Station Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-order issue processor devices, such as GPUs, face challenges in managing Read-After-Write (RAW) data dependencies due to limited hardware resources and variable latency of write instructions, leading to increased execution time and energy consumption.

Innovation Solution

A compiler uses a greedy algorithm to optimize the allocation of instructions to wait stations based on a cost function, minimizing end-to-end execution time by re-allocating instructions and linking read instructions to wait stations only after their dependencies have cleared, thereby reducing stalls and energy consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If instructions are allocated to wait stations without optimization, then the processor can execute instructions, but execution time increases due to stalls caused by data dependencies

Engineering Contradiction:
Improveexecution timeVSAvoidinstruction throughput
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The compiler performs preliminary allocation of write instructions to wait stations before generating machine code. This advance planning allows the processor to minimize stalls by having the optimal allocation strategy ready before execution begins, directly reducing execution time while maintaining instruction throughput

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the allocation parameters of instructions to wait stations based on data dependency analysis. By dynamically adjusting which instructions are allocated to which wait stations based on their dependency relationships, the system reduces stalls and improves both execution time and instruction throughput

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the processor waits for data dependencies to clear, then data correctness is maintained, but energy consumption increases due to extended execution time

Engineering Contradiction:
Improvedata correctnessVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The compiler performs preliminary analysis of data dependencies and pre-allocates instructions to appropriate wait stations before execution. This advance planning ensures data correctness is maintained while minimizing the duration of wait states, thereby reducing energy consumption during execution

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses self-service by having the compiler automatically analyze and resolve data dependency conflicts without requiring runtime intervention. This automated approach maintains data correctness while optimizing energy efficiency by eliminating unnecessary stall cycles

Inventive Principle:
Principle #25Self-service

3Productivity

If multiple write instructions are allocated to the same wait station, then resource utilization improves, but execution time increases due to sequential processing requirements

Engineering Contradiction:
Improveresource utilizationVSAvoidexecution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system applies local quality by allocating different types of instructions to different wait stations based on their specific characteristics and dependency relationships. Write instructions that can be executed in parallel are allocated to different wait stations, while maintaining high resource utilization, thereby reducing execution time

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11500641B2Devices, methods, and media for efficient data dependency management for in-order issue processors
Publication Date: 2022.11.15 HUAWEI TECH CO LTD
  • US11500641B2 patent drawing
  • US11500641B2 patent drawing
  • US11500641B2 patent drawing

AI summary

Methods, devices and media for efficient data dependency management for in-order issue processors are described. In various embodiments described herein, methods, devices and media are disclosed that provide techniques for managing RAW data dependencies between instructions in a constrained hardware environment. The described techniques include initial wait station allocation of write instructions, followed by wait station allocation conflict resolution methods that use a greedy algorithm to optimize a cost function based on the estimated latency of a single instruction. Efficient compilation and reduced execution time may be achieved in some embodiments. Methods and devices for compiling source code are described, as well as devices for executing the compiled machine code and media for storing compiled machine code.