Distributed Memory Controller for Multi-GPU Shared Resource Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multi-GPU environments face challenges in granting controlled access to shared resources without requiring a single point of control, leading to potential data corruption and timing lags due to the need for additional chip area and latency.

Innovation Solution

Implementing a mechanism where each GPU writes to and reads from dedicated fields in a shared memory, computing a value to determine access, using a multi-summed semaphore or request/acknowledgement mechanism to ensure only one GPU accesses the shared resource at a time, eliminating the need for a single point of control.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single memory controller is used to control access to shared memory in a multi-GPU environment, then controlled access is achieved, but additional chip area is required and timing lags occur

Engineering Contradiction:
Improvecontrolled access to shared memoryVSAvoidchip area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent divides the centralized memory controller functionality into distributed memory controllers at each GPU. Each GPU has its own memory controller that can independently manage access to shared memory, eliminating the need for a single centralized controller and reducing chip area requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a semaphore mechanism as an intermediary that coordinates access between multiple GPUs without requiring a centralized controller. The semaphore acts as a mediator that GPUs can independently query and update to determine access rights to shared memory resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a single memory controller is used to control access to shared memory in a multi-GPU environment, then controlled access is achieved, but timing lags occur due to stalling

Engineering Contradiction:
Improvecontrolled access to shared memoryVSAvoidtiming lag
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By segmenting the memory control functionality across multiple independent controllers at each GPU, the system eliminates single points of failure and timing lags. Each GPU can independently determine access rights without waiting for a centralized controller decision.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each GPU is equipped with its own memory controller that can independently manage access to shared memory. The GPUs use a semaphore mechanism to self-coordinate access without requiring intervention from a centralized controller, eliminating timing lags caused by stalling at a single control point.

Inventive Principle:
Principle #25Self-service

3Reliability

If additional wires are added to couple GPUs to a single memory controller, then controlled access is achieved, but chip area increases

Engineering Contradiction:
Improvecontrolled access to shared memoryVSAvoidchip area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent distributes memory controller functionality to each GPU, eliminating the need for extensive wiring to a centralized controller. Each GPU independently manages its own access to shared memory through local control logic and semaphore-based coordination.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The semaphore mechanism serves as an intermediary that enables coordinated access between GPUs without requiring physical wiring connections to a centralized controller. The semaphore can be implemented in shared memory, reducing the need for additional physical wires and chip area.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8576236B2Mechanism for granting controlled access to a shared resource
Publication Date: 2013.11.05 ADVANCED MICRO DEVICES INC
  • US8576236B2 patent drawing
  • US8576236B2 patent drawing
  • US8576236B2 patent drawing

AI summary

Disclosed are methods and systems for granting an application-specific integrated circuit (ASIC) in a multi-ASIC environment controlled access to a shared resource. A system includes a first ASIC, a second ASIC, and a shared memory that stores a shared resource and a data set partitioned into fields. The first ASIC writes data to a first subset of the fields and reads data from the fields. The first ASIC includes first logic that computes a first value based on the data read from the fields. The second ASIC writes data to a second subset of the fields and reads data from the fields. The second ASIC includes second logic that computes a second value based on the data read from the fields. Based on the first and second values respectively computed by the first and second logic, only one of the first and second ASICs gains access to the shared resource.