Non-emulated Interface for RDMA Data Path Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Applications in emulated environments are unable to utilize RDMA transfer for network traffic without modification, leading to latency issues due to reliance on traditional network stacks for non-RDMA protocols.
Innovation Solution
A non-emulated interface determines RDMA requests and calls appropriate APIs to facilitate RDMA transfers, allowing network traffic to bypass traditional network stacks and use RDMA protocols, while supporting both RDMA and TCP/IP protocols with the same function calls.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If applications in emulated environments use traditional network stacks for non-RDMA protocols, then compatibility is maintained, but network transfer speed deteriorates due to latency
Solution Approach 1:
The patent introduces a non-emulated interface as an intermediary component between the emulated environment and the network stack. This interface detects RDMA requests from emulated applications and redirects them to appropriate RDMA transfer mechanisms, while allowing non-RDMA traffic to pass through the traditional network stack. This mediator enables high-speed RDMA transfers without requiring application modifications, resolving the contradiction between speed and complexity by adding a dedicated redirection layer.
Solution Approach 2:
The patent segments the network data path into two distinct routes: an RDMA data path for high-speed transfers and a traditional network stack path for compatibility requirements. The non-emulated interface acts as a router that directs traffic to the appropriate path based on RDMA request detection. This segmentation allows each path to be optimized independently, improving overall network transfer speed while maintaining compatibility.
2Productivity
If applications are modified to support RDMA, then network transfer performance improves, but application compatibility deteriorates
Solution Approach 1:
The non-emulated interface serves as a mediator that translates RDMA requests from emulated applications into appropriate transfer operations. Applications in the emulated environment continue to use their original APIs without modification, while the interface handles the RDMA specifics. This preserves application compatibility while enabling high performance.
Solution Approach 2:
The system provides self-service by automatically detecting RDMA requests and routing them through the appropriate path without requiring application awareness or modification. The emulated applications simply send network requests through the non-emulated interface, and the system autonomously determines whether RDMA or traditional networking is appropriate based on the request characteristics.
3Speed
If a single data path is used for all network traffic, then device complexity is reduced, but network transfer speed deteriorates when RDMA is needed
Solution Approach 1:
The patent implements a dynamic data path selection mechanism where the non-emulated interface determines the appropriate transfer path based on the characteristics of each network request. The system can switch between RDMA and traditional network stack paths in real-time based on whether the request is an RDMA request, allowing optimal performance for each individual transfer while maintaining a relatively simple overall architecture.
Data Source
AI summary
A method and apparatus for high-speed data path selection for network transfer using IP addresses is disclosed. The method may include configuring an IP address for a non-RDMA data transfer or an RDMA high speed data transfer. An application executing in an emulated environment may transfer data using the same function calls for both non-RDMA data transfer or an RDMA high speed data transfer. This reduces changes to the application to allow RDMA transfers. A non-emulated interface determines whether the IP address is flagged as an RDMA address. If so, the data is transferred via an RDMA data path. If the IP address is not flagged as an RDMA address, the data is transferred via a non-RDMA data path through a traditional network stack.


