Maximum Compare-and-Swap RDMO for Low-Latency Remote Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network communication methods for performing complex operations in remote memory incur high latency and require remote host involvement, making them inefficient and suboptimal for distributed applications.

Innovation Solution

Implementing Remote Direct Memory Operations (RDMO) commands, such as Maximum Compare-and-Swap (MAX-CAS), Hash Table get/set, Table Append, and fault-tolerant remote logging, directly in the transport protocol between network devices, enabling atomic execution without host intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If existing network communication methods are used to perform complex operations in remote memory, then the operations can be executed with host involvement, but latency increases and efficiency decreases

Engineering Contradiction:
ImprovelatencyVSAvoidhost involvement requirement
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

The patent extracts the host involvement requirement from the remote memory operation execution process. By implementing compare-and-swap operations directly in network devices (NICs), the system eliminates the need for host CPU participation in these operations, thereby reducing latency while maintaining operational simplicity for the host.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent enables network devices to perform complex compare-and-swap operations autonomously without host intervention. The NICs self-service by executing the operations locally using their own resources, which reduces the time required for operation completion and eliminates host involvement overhead.

Inventive Principle:
Principle #25Self-service

2Productivity

If complex operations are performed in remote memory through host involvement, then the operations can be executed, but communication overhead increases

Engineering Contradiction:
Improveoperation execution efficiencyVSAvoidcommunication overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the remote memory operation execution into two parts: simple operations that can be handled by network devices and complex operations that require host involvement. By implementing compare-and-swap operations at the network device level, the system improves productivity for these specific operations while reducing communication overhead compared to handling all operations through the host.

Inventive Principle:
Principle #1Segmentation

3Reliability

If compare-and-swap operations are implemented in transport protocol, then atomic execution is achieved, but device complexity increases

Engineering Contradiction:
Improveatomic executionVSAvoidprotocol complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the compare-and-swap operation logic directly into the transport protocol layer of network devices. This integration ensures atomic execution of operations while managing device complexity by combining multiple functions (comparison, swapping, and network communication) into a unified protocol implementation rather than separate components.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20250310401A1Maximum Compare-and-Swap Remote Direct Memory Operation (RDMO)
Publication Date: 2025.10.02 MELLANOX TECHNOLOGIES LTD(IL)
  • US20250310401A1 patent drawing
  • US20250310401A1 patent drawing
  • US20250310401A1 patent drawing

AI summary

A system includes a first network device and a second network device. The first network device is to send over a network a command that (i) specifies a memory location, a compare value and a swap value and (ii) instructs that the swap value be written into the memory location only if the compare value is larger than a current value in the memory location. The second network device is to receive the command over the network, and to execute the command by reading the current value from the memory location, comparing the current value to the compare value, and, upon finding that the compare value is larger than the current value, writing the swap value to the memory location in place of the current value.