Remote Memory Buffer Management via RDMA Immediate Values

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional RDMA communication networks face challenges in transferring messages of arbitrary sizes without increasing latency, as they require the consumer computer to manage buffer placement and the producer computer to determine available buffers, leading to potential overflow issues in the completion queue.

Innovation Solution

The producer computer remotely manages the consumer's memory buffers by registering them and using the immediate value of WRITE_WITH_IMM as an index into header buffers, allowing for flexible message sizes and preventing queue overflow by tracking processed header buffers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the consumer computer manages buffer placement in conventional RDMA communication, then the producer computer can determine available buffers, but this leads to potential overflow issues in the completion queue and increased latency for arbitrary message sizes

Engineering Contradiction:
Improvecompletion queue overflow preventionVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts buffer management responsibilities from the consumer computer and transfers them to the producer computer. The producer computer now directly tracks which buffers are available and when they become available, eliminating the need for complex consumer-side buffer management and completion queue overflow prevention mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The producer computer serves itself by autonomously managing buffer availability without requiring the consumer computer to participate in buffer management. The producer monitors buffer status and initiates transfers when buffers are available, making the system self-sufficient and reducing latency.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If the producer computer determines available buffers in conventional RDMA, then communication can proceed, but transferring messages of arbitrary size increases latency

Engineering Contradiction:
Improvearbitrary message size supportVSAvoidlatency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system dynamically adapts to arbitrary message sizes by allowing the producer computer to flexibly select and manage buffers based on the actual data being transferred. The buffer management is no longer constrained by fixed consumer-side allocations, enabling efficient handling of variable-sized messages without latency penalties.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If the consumer computer manages buffer placement, then buffer allocation can be controlled, but the system complexity increases and operating system involvement is required

Engineering Contradiction:
Improvebuffer management simplicityVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent removes buffer management complexity from the consumer computer and operating systems, centralizing it at the producer computer. This extraction simplifies the overall system architecture by eliminating the need for consumer-side buffer tracking and OS involvement in buffer management.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The producer computer autonomously manages all buffer-related operations without requiring consumer computer participation or operating system intervention. This self-service approach reduces system complexity by eliminating inter-computer coordination overhead for buffer management.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11379404B2Remote memory management
Publication Date: 2022.07.05 SAP SE
  • US11379404B2 patent drawing
  • US11379404B2 patent drawing
  • US11379404B2 patent drawing

AI summary

Remote memory management of the memory of a consumer computer by a producer computer is described. A system is described that can include a first computer, and a second computer communicatively coupled to the first computer via a remote direct memory access enabled communication network. The first computer can include a first operating system. The second computer can include a second operating system and a second memory. The second memory can include a plurality of buffers. The first computer can remotely manage the plurality of buffers of the second memory of the second computer without involving either the first operating system or the second operating system. The managing can further include the first computer identifying available buffers amongst the plurality of buffers. Related methods, apparatuses, articles, non-transitory computer program products, non-transitory computer readable media are also within the scope of this disclosure.