Payload Direct Memory Storing for Out-of-Order RDMA Packets
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current RDMA technologies are limited by the assumption that all packets for a specific transport flow must travel across the same network path, restricting in-order packet delivery and limiting network utilization.
Innovation Solution
The introduction of Payload Direct Memory Storing (PDMS) mechanisms that allow out-of-order packet delivery in the transport layer by accepting packets on arrival, scattering them to memory or data buffers, and reordering them on the target device, enabling transmission across multiple paths without significant bandwidth degradation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If in-order packet delivery is enforced, then transport operation reliability is improved, but network path flexibility and network utilization deteriorate
Solution Approach 1:
The patent segments the transport layer functionality by separating packet reception from packet processing. Packets are received and stored in a buffer without requiring in-order delivery, allowing network path flexibility. The ordering is then handled separately during packet processing, maintaining transport reliability. This segmentation resolves the contradiction by decoupling the two requirements.
Solution Approach 2:
The patent introduces an intermediary buffer mechanism between the network receiver and the transport layer processor. This buffer acts as a mediator that temporarily stores out-of-order packets, allowing them to be received via multiple network paths while ensuring in-order processing when needed. The intermediary buffer resolves the contradiction by providing both flexibility in reception and reliability in processing.
2Productivity
If multiple network paths are used, then network utilization is improved, but packet delivery ordering deteriorates
Solution Approach 1:
The patent segments the packet handling process into reception and processing stages. During reception, packets from multiple network paths are accepted and stored without requiring order. During processing, packets are retrieved and delivered in the correct order. This segmentation enables both high network utilization and stable packet delivery ordering.
Solution Approach 2:
The patent performs preliminary action by pre-storing packets in a buffer upon receipt, before processing or delivery. This preliminary storage action allows packets to be received out of order via multiple paths, while the actual delivery is performed in the correct order when all necessary packets are available. This resolves the contradiction between network utilization and delivery ordering.
3Device complexity
If packets are accepted on arrival without reordering, then processing complexity is reduced, but network utilization deteriorates
Solution Approach 1:
The patent segments packet handling into simple reception (accept packets on arrival) and separate processing (reorder if needed). The reception phase maintains low complexity by accepting packets without reordering, while the processing phase handles reordering only when necessary. This segmentation reduces overall processing complexity while improving network utilization through multiple path support.
Solution Approach 2:
The patent introduces an intermediary buffer that simplifies the reception process by automatically handling out-of-order packets. The buffer mediates between the network interface and the transport layer, requiring minimal processing complexity at the reception point while enabling efficient use of multiple network paths. This resolves the contradiction between processing complexity and network utilization.
Data Source
AI summary
Technologies for payload direct memory storing (PDMS) for out-of-order delivery of packets in remote direct memory access (RDMA) are described. A responder device includes an RDMA transport layer that can receive packets out of order and allow direct data placement of packet data in order. The responder device receives a first packet with a first packet number and first location information. The responder device stores first packet data to a first location according to the first location information. The responder device also receives a second packet and stores second packet data to a second location according to the second location information. A second packet number indicates that the first packet is received out of order. The first and second packet data are stored in order. The responder device can provide an indication that a message has arrived in response to determining that all packets of the message have arrived.


