GPU Network Command Coalescing via Thread Coordination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

GPU hardware in SIMT architectures is inefficient in coalescing network command packets for remote memory accesses, leading to increased overhead and degraded performance, as it cannot combine separate network command packets for the same operation to contiguous memory addresses, resulting in each thread issuing separate packets even for small data amounts.

Innovation Solution

The approach involves threads sharing information about their next network operation, determining coalescability with other threads, and using bit vectors to identify coalescable threads, allowing for the generation of coalesced network command packets that implement the next network operations of multiple threads, reducing the number of packets issued.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If GPU hardware uses traditional coalescing mechanisms for local memory accesses, then local memory access efficiency is improved, but network command packet coalescing capability deteriorates

Engineering Contradiction:
Improvelocal memory access efficiencyVSAvoidnetwork command packet coalescing capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the coalescing process into two distinct phases: (1) local memory access coalescing handled by traditional GPU hardware mechanisms, and (2) network command packet coalescing handled by a new thread-based coordination mechanism. Each phase operates independently with specialized handling, allowing the system to maintain efficient local memory access while adding network packet coalescing capability without interference between the two functions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces thread-shared variables and synchronization primitives as intermediaries between threads and the network command issuance process. These intermediaries enable threads to communicate their network access requirements and coordinate packet coalescing without requiring fundamental changes to the GPU hardware coalescing mechanism, thus preserving local memory efficiency while enabling network packet coalescing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If each thread issues separate network command packets, then thread independence is maintained, but network overhead increases and performance degrades

Engineering Contradiction:
Improvethread independenceVSAvoidnetwork throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent merges network command packets from multiple threads into single coalesced packets when the threads' network operations are compatible (same destination, same operation type, contiguous addresses). This merging reduces the total number of network packets issued, decreasing network overhead and improving throughput, while threads maintain their logical independence through the coalescing coordination mechanism.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements dynamic packet coalescing where the degree of merging is determined at runtime based on the specific network operation requirements of active threads. The system dynamically adjusts between issuing individual packets and coalesced packets based on compatibility conditions, allowing flexible optimization of network throughput while preserving thread independence when needed.

Inventive Principle:
Principle #15Dynamics

3Loss of time

If GPU hardware coalesces accesses to local memory locations, then memory access overhead is reduced, but remote memory location access coalescing remains ineffective

Engineering Contradiction:
Improvememory access overheadVSAvoidremote memory access efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent segments memory access coalescing into local memory operations (handled by traditional GPU hardware) and remote memory operations (handled by new thread coordination logic). This segmentation allows each type of memory access to be optimized independently, with local memory benefiting from hardware coalescing and remote memory benefiting from software-coordinated packet merging.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces thread coordination mechanisms and shared variables as intermediaries to enable coalescing of remote memory access commands. These intermediaries allow threads to communicate their remote access requirements and coordinate packet issuance, achieving effective remote memory coalescing without interfering with the hardware-based local memory coalescing mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11922207B2Network command coalescing on GPUs
Publication Date: 2024.03.05 ADVANCED MICRO DEVICES INC
  • US11922207B2 patent drawing
  • US11922207B2 patent drawing
  • US11922207B2 patent drawing

AI summary

An approach is provided for coalescing network commands in a GPU that implements a SIMT architecture. Compatible next network operations from different threads are coalesced into a single network command packet. This reduces the number of network command packets generated and issued by threads, thereby increasing efficiency, and improving throughput. The approach is applicable to any number of threads and any thread organization methodology, such as wavefronts, warps, etc.