RDMA Network Adapter Replication for In-Memory High Availability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High availability remains a challenge for in-memory stores utilizing remote direct memory access (RDMA) in application servers, as there are no software-level hooks for replication, making them vulnerable to hardware failures and involving the server processor can cause performance degradation.
Innovation Solution
Implementing a method and system for RDMA optimized high availability by replicating RDMA key-value store write requests and providing address translation data between primary and secondary computing servers, allowing seamless failover without CPU intervention, ensuring continuous data access and performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If one-sided RDMA access is used for in-memory store, then ultra high throughput and ultra low latency are achieved, but high availability is compromised due to lack of software-level hooks for replication
Solution Approach 1:
The patent implements replication of RDMA write requests to secondary computing servers. The network adapter copies write requests to multiple secondary servers, enabling data redundancy without requiring CPU involvement in the replication process itself. This allows the system to maintain ultra-high throughput while achieving high availability through copying of data to backup servers.
Solution Approach 2:
The patent introduces an RDMA optimization module as an intermediary between the client and the in-memory store. This module handles the replication logic and address translation, allowing the server processor to remain uninvolved in RDMA operations while still enabling high availability features. The intermediary manages the complexity of replication without blocking the high-performance RDMA path.
2Reliability
If server processor is involved in RDMA operations, then high availability replication can be implemented, but performance degrades dramatically
Solution Approach 1:
The patent extracts the replication function from the server processor and relocates it to the network adapter. The network adapter independently handles replication of write requests to secondary servers without CPU intervention. This extraction allows high availability replication to be implemented while maintaining the performance benefits of processor-free RDMA operations.
Solution Approach 2:
The network adapter performs self-service by autonomously replicating write requests to secondary computing servers without requiring server processor involvement. The RDMA optimization module manages replication and address translation independently, allowing the system to achieve high availability while the server processor remains free to handle only essential tasks.
3Reliability
If RDMA write requests are replicated to secondary servers, then high availability is improved, but device complexity increases
Solution Approach 1:
The patent merges the replication function with the existing network adapter hardware. By integrating replication capability into the network adapter, the system avoids adding separate complex replication hardware or software layers. The RDMA optimization module combines address translation and replication in a unified component, reducing overall system complexity while enabling high availability.
Data Source
AI summary
A method for RDMA optimized high availability for in-memory storing of data includes receiving RDMA key-value store write requests in a network adapter of a primary computing server directed to writing data to an in-memory key-value store of the primary computing server and performing RDMA write operations of the data by the network adapter of the primary computing server responsive to the RDMA key-value store write requests. The method also includes replicating the RDMA key-value store write requests to a network adapter of a secondary computing server, by the network adapter of the primary computing server. Finally, the method includes providing address translation data for the in-memory key-value store of the primary computing server from the network adapter of the primary computing server to the network adapter of the secondary computing server.

