Shared Store Pipeline Scheduling for Multi-Rate Memory Targets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graphics processing units (GPUs) face performance degradation due to the inefficiencies in handling store instructions that target memories with different data rate capabilities, leading to reduced pipeline throughput when a significant number of instructions target slower memory types.

Innovation Solution

A shared store pipeline is configured to generate state information based on the amount of work targeting slower memory types, with scheduling circuitry selecting instructions to avoid overwhelming slower targets, thereby maintaining optimal throughput by predicting the number of memory bus cycles needed for each instruction and using hint bits to manage instruction dispatch.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a shared store pipeline is used to process instructions for different target memories with different data rate capabilities, then device complexity is reduced and area requirements are decreased, but pipeline throughput for faster targets deteriorates when more than a threshold amount of work targets slower memory

Engineering Contradiction:
Improvestore pipeline structureVSAvoidpipeline throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The store pipeline generates state information that feeds back to the scheduling circuitry, indicating whether the amount of work for a particular target exceeds a threshold. This feedback mechanism enables the scheduler to make informed decisions about instruction dispatch, preventing pipeline flooding for slower targets while maintaining high throughput for faster targets.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts instruction dispatch based on real-time pipeline state. The scheduling circuitry modifies its behavior according to the current workload distribution across different memory targets, transitioning between different dispatch strategies to optimize throughput under varying conditions.

Inventive Principle:
Principle #15Dynamics

2Productivity

If more work is dispatched to slower memory targets, then utilization of slower memory increases, but power consumption increases and pipeline throughput for faster targets decreases

Engineering Contradiction:
Improvememory utilizationVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system changes the dispatch parameters dynamically based on pipeline state. When the threshold for slower targets is exceeded, the scheduling circuitry adjusts the mix of instructions dispatched, reducing the proportion directed to slower targets and thereby reducing power consumption while maintaining overall productivity.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Instead of fully utilizing the slower memory target when possible, the system applies partial action by limiting the amount of work dispatched to slower targets to only what is necessary (up to the threshold), avoiding excessive power consumption while still maintaining adequate utilization.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If the pipeline processes more instructions for slower targets, then adaptability to different memory types is improved, but pipeline throughput for faster targets deteriorates

Engineering Contradiction:
Improvememory target compatibilityVSAvoidthroughput for faster targets
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system segments the instruction stream based on target memory type and pipeline state. The scheduling circuitry separates instructions destined for slower targets from those for faster targets, applying different dispatch strategies to each segment based on current pipeline conditions, thus maintaining adaptability while preserving throughput for faster targets.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10452401B2Hints for shared store pipeline and multi-rate targets
Publication Date: 2019.10.22 APPLE INC
  • US10452401B2 patent drawing
  • US10452401B2 patent drawing
  • US10452401B2 patent drawing

AI summary

Techniques are disclosed relating to selecting store instructions for dispatch to a shared pipeline. In some embodiments, the shared pipeline processes instructions for different target clients with different data rate capabilities. Therefore, in some embodiments, the pipeline is configured to generate state information that is based on a determined amount of work in the pipeline that targets at least one slower target. In some embodiments, the state information indicates whether the amount of work is above a threshold for the particular target. In some embodiments, scheduling circuitry is configured to select instructions for dispatch to the pipeline based on the state information. For example, the scheduling circuitry may refrain from selecting instructions with a slower target when the slower target is above its threshold amount of work in the pipeline. In some embodiments, the shared pipeline is a store pipeline configured to execute store instructions that target memories with different data rate capabilities.