GPGPU Compute Cluster Preemption via Thread Context Extraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face inefficiencies in parallel data processing due to limitations in preemption mechanisms, leading to stalled compute clusters and reduced utilization, especially in GPGPU environments where deep pipeline stages and large pipeline state require high latency for preemption.

Innovation Solution

Implementing a preemptable GPGPU compute system with a hardware mechanism for tracking blocking events, enabling workload rebalancing and fine-grained thread saving and switching, as well as low latency preemption techniques that reduce the amount of pipeline state required to be saved, allowing for efficient migration and restoration of compute tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional preemption mechanisms are used in GPGPU systems, then pipeline state can be saved, but preemption latency becomes high due to deep pipeline stages and large pipeline state

Engineering Contradiction:
Improvepreemption latencyVSAvoidpipeline state size
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the pipeline state into critical and non-critical components, saving only the essential register state and control information rather than the entire pipeline state. This selective saving approach reduces the amount of data that needs to be preserved during preemption, thereby reducing preemption latency while maintaining the ability to restore compute cluster functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention extracts and saves only the necessary thread context information (register state, program counter, etc.) during preemption, separating this critical data from the larger pipeline state. By taking out only the essential elements for thread restoration, the system achieves fast preemption without requiring preservation of the complete pipeline state.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If compute clusters are preempted to improve resource utilization, then workload can be rebalanced, but context switching time increases

Engineering Contradiction:
Improvecompute unit utilizationVSAvoidcontext switching time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements preliminary actions by continuously monitoring compute cluster status and preparing thread context for potential preemption. The system maintains ready queues and pre-allocates resources, so when preemption is needed, threads can be quickly switched without requiring extensive context restoration, thereby reducing context switching time while enabling frequent workload rebalancing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention changes the preemption granularity parameter from cluster-level to thread-level preemption. By enabling individual thread preemption within a compute cluster rather than preempting the entire cluster, the system can perform frequent context switches with minimal overhead, improving both productivity and reducing time loss.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If fine-grained thread saving and switching is implemented, then preemption efficiency improves, but hardware complexity increases

Engineering Contradiction:
Improvepreemption efficiencyVSAvoidhardware mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent makes the thread context saving mechanism universal by implementing a unified hardware structure that handles both thread context saving and compute cluster scheduling functions. The same hardware components used for thread state management also support fine-grained preemption operations, eliminating the need for separate dedicated hardware and reducing overall system complexity while maintaining high preemption efficiency.

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

Data Source

PatentEP3866009B1Compute cluster preemption within a general-purpose graphics processing unit
Publication Date: 2024.12.25 INTEL CORP
  • EP3866009B1 patent drawingFigure 1
  • EP3866009B1 patent drawingFigure 2A
  • EP3866009B1 patent drawingFigure 2B

AI summary

One embodiment provides for a general-purpose graphics processing unit comprising a compute cluster including multiple compute units, a stall notification module to detect that one or more compute units in the compute cluster are stalled and send stall notification, and a rebalance module to receive the stall notification, the rebalance module to migrate a first workload from one or more stalled compute units in response to the stall notification.