RDMA Transport Emulation via Network Adapter Translation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing Reliable Connection (RC) RDMA protocols consume excessive system resources and degrade application performance due to the need for establishing connections with all possible targets before data transmission, whereas Dynamic Connected (DC) protocols are more scalable but complex to program.
Innovation Solution
The system emulates RC RDMA transactions using DC transports, employing network adapter circuitry to convert RC RDMA requests to DC requests, manage DC connections, and translate DC completions back to RC completions, thereby reducing resource allocation and maintaining transparent communication for legacy applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If RC RDMA protocol is used to ensure reliable communication, then communication reliability is improved, but system resource consumption increases and scalability deteriorates
Solution Approach 1:
The patent introduces an intermediary translation layer in the network adapter that converts RC RDMA requests into DC RDMA requests. This intermediary mechanism allows the system to use the resource-efficient DC protocol while maintaining compatibility with applications expecting RC behavior, thus resolving the contradiction between reliability and resource consumption.
Solution Approach 2:
The patent changes the transport protocol parameter from RC to DC at the network adapter level. By transforming the protocol type parameter, the system achieves resource efficiency and scalability of DC while preserving the application-level reliability guarantees through translation of RC-specific features into DC equivalents.
2Reliability
If RC connections are established with all possible targets before data transmission, then communication reliability is improved, but connection establishment time and resource allocation increase
Solution Approach 1:
The patent performs preliminary translation of RC connection establishment requests into DC requests at the network adapter level. The translation layer pre-processes connection setup by converting RC queue pair establishment into DC connection setup, allowing applications to use RC semantics without actually performing expensive RC connection handshakes with all possible targets.
Solution Approach 2:
The patent creates a translated copy of the RC protocol behavior through the DC protocol. Instead of implementing actual RC connection establishment with all its overhead, the system creates DC connection copies that emulate RC semantics, thereby eliminating the time-consuming connection setup while preserving reliability guarantees.
3Adaptability or versatility
If DC protocol is used to improve scalability, then resource efficiency is improved, but programming complexity increases
Solution Approach 1:
The patent introduces a translation intermediary that shields applications from DC programming complexity. The network adapter's translation layer handles complex DC protocol operations, connection management, and state tracking, allowing applications to use simple DC RDMA requests while the intermediary manages the complexity of scalable DC connections.
Solution Approach 2:
The translation layer in the network adapter provides self-service by automatically managing DC connection establishment, maintenance, and teardown based on RC request patterns. The system self-manages the complexity of DC protocol operations without requiring application-level intervention, thus achieving scalability while keeping programming simple.
Data Source
AI summary
An apparatus includes a network interface and circuitry. The network interface is configured to connect to a communication network. The circuitry is configured to receive, from a host, first RDMA requests in accordance with a first transport service type, for transferring data between an initiator process running on the host and one or more responder processes running on one or more remote computers, to convert the first RDMA requests into second RDMA requests in accordance with a second transport service type, different from the first transport service type, to communicate messages corresponding to the second transport service type with the remote computers, to convert completions, which are received from the one or more remote computers in accordance with the second transport service type, into corresponding completions to the first RDMA requests in accordance with the first transport service type, and to send the corresponding completions to the initiator process.


