Relaxed Reliable Datagram Transport Service for HPC Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High performance computing clusters face challenges in achieving high bandwidth and low latency due to the inefficiencies of existing networking protocols, particularly in handling packet drops and reordering, which are compute-intensive and often delayed by operating system kernel operations.
Innovation Solution
The implementation of a Relaxed Reliable Datagram transport service that separates packet reordering from reliability operations, with the network adapter handling reliability and the host device handling reordering, allowing for efficient packet delivery and reordering without processor-intensive operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the operating system kernel handles packet reordering and reliability operations, then protocol processing can be performed, but processor involvement increases latency and reduces bandwidth efficiency
Solution Approach 1:
The patent extracts packet reordering functionality from the operating system kernel and relocates it to the network adapter device. This separation allows reliability operations to be handled by the kernel while reordering occurs in hardware, eliminating processor involvement in reordering and reducing transaction latency.
Solution Approach 2:
The network adapter acts as an intermediary between the network interface and the operating system kernel. It performs packet reordering in hardware before packets reach the kernel, mediating between the raw network stream and the higher-level protocol processing to eliminate kernel involvement in reordering operations.
2Productivity
If the operating system kernel processes each packet for reordering and reliability, then protocol correctness is maintained, but processor-intensive operations reduce overall system throughput
Solution Approach 1:
The patent replaces the mechanical/software-based packet reordering process in the operating system kernel with a hardware-based reordering mechanism in the network adapter. This substitution eliminates processor-intensive operations while maintaining protocol correctness, significantly improving system throughput.
Solution Approach 2:
The network adapter performs packet reordering autonomously in hardware without requiring processor intervention. The adapter services itself by maintaining packet sequences and detecting drops independently, freeing the processor to focus on higher-level protocol processing and improving overall system productivity.
3Reliability
If connection-oriented protocols are used to ensure reliable packet delivery, then packet loss is prevented, but the complexity of connection management increases and scalability is reduced
Solution Approach 1:
The patent segments the transport protocol functionality into separate components: connection management remains in the operating system kernel while packet reordering is isolated in the network adapter hardware. This segmentation allows connectionless operation at the network interface level while maintaining reliability guarantees through coordinated kernel-adapter interaction.
Solution Approach 2:
The network adapter performs partial reordering operations in hardware for packets that are clearly out of sequence, while relying on the operating system kernel for complete reliability management. This partial action approach reduces complexity compared to full connection-oriented protocols while still improving reliability over pure connectionless approaches.
Data Source
AI summary
Provided are systems and methods for reliable, out-of-order receipt of packets. In some implementations, provided is an apparatus configured to communicate with a network and a host device. The apparatus may receive packets over the network at a receive queue. The packets may originate from a source on the network, and may be received out of order. The apparatus may further, for each received packet, identify a transport context associated with the source and a destination of the packet, and determine whether the packet can be accepted. Upon determining that the packet can be accepted, the apparatus may further identify the one receive queue at which the packet was received; determine a user application to receive the packet, transfer the packet from the one receive queue to a buffer in host memory, and identify an order in which the packet was received with respect to other packets.


