Remote Direct Memory Operations Execution Candidates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in maintaining high availability of remote server operations, especially when the remote server experiences hardware or software failures, as they are limited to simple memory access operations and fail when performing complex tasks like calculating averages.

Innovation Solution

Implementing Remote Direct Memory Operations (RDMOs) that allow multiple execution candidates from different reliability domains within a machine to perform complex operations, such as computing averages, even when the remote server is not fully functional, by using network interface controllers with firmware or FPGA support, and enabling fallback or parallel execution candidates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If Remote Direct Memory Access (RDMA) is used to retrieve data from volatile memory of a remote server, then data retrieval speed and efficiency are improved, but the system fails when the remote server experiences hardware or software failures

Engineering Contradiction:
Improvedata retrieval speedVSAvoidsystem availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the execution of remote operations into multiple independent execution candidates (e.g., different applications, virtual machines, or containers on the same physical server). This segmentation allows the system to attempt operations through multiple independent paths, so if one execution candidate fails due to server issues, other candidates can still complete the operation, thereby improving reliability while maintaining fast RDMA-based data access.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If Remote Procedure Calls (RPCs) are used to perform complex operations on remote server data, then sophisticated operations can be performed, but the operations fail when the remote server is not fully functional

Engineering Contradiction:
Improveoperation complexityVSAvoidoperation availability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent performs preliminary actions by pre-positioning multiple execution candidates in different reliability domains before failure occurs. These execution candidates are prepared in advance with the necessary capabilities to perform complex operations, so when a server failure occurs, the system can immediately switch to an available execution candidate without needing to re-establish connections or reconfigure systems, thus maintaining both operational complexity and reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces execution candidates as intermediary entities that mediate between the client and the remote server data. These intermediaries can perform complex operations locally or through alternative paths when the primary server is unavailable, acting as a buffer that maintains operation availability even when the original server fails.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If multiple execution candidates from different reliability domains are implemented to perform complex operations, then system availability during failures is improved, but device complexity increases

Engineering Contradiction:
Improveoperation availabilityVSAvoidsystem structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements execution candidates that can universally handle multiple types of operations across different reliability domains. Rather than creating specialized components for each failure scenario, the system uses multi-functional execution candidates that can adapt to various operation types and failure modes, reducing overall system complexity while maintaining high availability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP4148579B1One-sided reliable remote direct memory operations
Publication Date: 2024.06.19 ORACLE INT CORP
  • EP4148579B1 patent drawingFigure 1
  • EP4148579B1 patent drawingFigure 2
  • EP4148579B1 patent drawingFigure 3

AI summary

A method of performing an operation on a first computing device comprises executing, on the first computing device, an application capable of performing the operation. The first computing device includes a network interface controller with an execution candidate capable of interpreting instructions which, when interpreted, cause performance of the operation. The application and the execution candidate have access to a shared memory of the first computing device. The operation requires multiple accesses to data in the shared memory. A requesting entity executing on a second computing device that is remote relative to the first computing device selects a target from among the application and the execution candidate. Responsive to the application being selected as the target, the requesting entity sends the application a request to perform the operation. Responsive to the execution candidate being selected as the target, the requesting entity causes the execution candidate to interpret instructions which, when interpreted by the execution candidate, cause performance of the operation. One or more non-transitory computer-readable media and a system comprise corresponding elements.