CPU Mailbox Read Access to GPU Memory for Efficient Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data transfer protocols in computing environments, particularly for large data blocks between CPUs and GPUs, face inefficiencies due to limited peer-to-peer memory buffers, leading to low data transfer rates and resource competition among GPUs, with DMA transfers being cumbersome and inappropriate for urgent memory transfers.

Innovation Solution

A method involving multiple read commands for transferring data blocks, where each command accesses a portion of the data and stores it in different parts of a buffer memory, allowing simultaneous operations without consuming additional peer-to-peer memory buffers, and using a circular read buffer to manage data transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple peer-to-peer memory buffers are used to transfer large data blocks simultaneously, then data transfer rate is improved, but the number of available buffers is limited and other peer GPUs cannot access buffers when one GPU uses multiple buffers

Engineering Contradiction:
Improvedata transfer rateVSAvoidbuffer availability for multiple GPUs
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments a large data block transfer into multiple smaller sub-block transfers, each fitting within a single peer-to-peer memory buffer. The source GPU divides the large data block into sub-blocks and transfers them sequentially through the mailbox protocol, allowing the buffer to be reused for each sub-block while maintaining efficient data flow.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of operation by allowing the source GPU to initiate multiple independent read commands to different target GPUs simultaneously. This transforms the traditional single-buffer sequential model into a multi-command parallel model where the limiting factor shifts from buffer quantity to command processing capacity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If a single peer-to-peer memory buffer is used for large data block transfers, then buffer availability for other GPUs is maintained, but data transfer rate decreases due to funneling through a small data path

Engineering Contradiction:
Improvebuffer availability for multiple GPUsVSAvoiddata transfer rate
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements continuous data transfer by allowing the source GPU to pipeline multiple read commands through the mailbox protocol. While one transfer is in progress, the source GPU can prepare and issue subsequent commands, ensuring the data path remains continuously utilized without idle buffer waiting time.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The source GPU prepares and issues multiple read commands in advance before all data transfers are complete. This preliminary action allows the mailbox protocol to process commands in parallel with data movement, reducing overall transfer latency and improving throughput.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If DMA operation is used to transfer large data blocks, then data transfer rate is improved, but latency is long and initiation is cumbersome making it inappropriate for urgent transfers

Engineering Contradiction:
Improvedata transfer rateVSAvoidtransfer latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces the mailbox protocol as an intermediary mechanism between direct peer-to-peer access and DMA transfers. The mailbox acts as a lightweight control structure that enables rapid command issuance and completion notification, providing low-latency transfers for urgent data while maintaining high throughput through pipelined operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9727521B2Efficient CPU mailbox read access to GPU memory
Publication Date: 2017.08.08 NVIDIA CORP
  • US9727521B2 patent drawing
  • US9727521B2 patent drawing
  • US9727521B2 patent drawing

AI summary

Techniques are disclosed for peer-to-peer data transfers where a source device receives a request to read data words from a target device. The source device creates a first and second read command for reading a first portion and a second portion of a plurality of data words from the target device, respectively. The source device transmits the first read command to the target device, and, before a first read operation associated with the first read command is complete, transmits the second read command to the target device. The first and second portions of the plurality of data words are stored in a first and second portion a buffer memory, respectively. Advantageously, an arbitrary number of multiple read operations may be in progress at a given time without using multiple peer-to-peer memory buffers. Performance for large data block transfers is improved without consuming peer-to-peer memory buffers needed by other peer GPUs.