Relaxed Reliable Datagram Transport for Out-of-Order Packets
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing high-performance computing systems face challenges in achieving both scalability and reliability in packet delivery across networks with non-negligible packet drop rates, as traditional protocols incur high latency and inefficiencies due to processor involvement in handling packet reordering and reliability.
Innovation Solution
Implementing a Relaxed Reliable Datagram transport service that offloads reliability to a network adapter device and reordering to host device software, ensuring efficient packet delivery and reordering without processor overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional protocols are used for packet transmission, then reliability is maintained through processor involvement in reordering and reliability handling, but latency increases and processor overhead is incurred
Solution Approach 1:
The patent extracts the reliability management function from the processor and relocates it to the network adapter device. The network adapter independently handles packet reordering and reliability assurance using its own buffer and reordering logic, eliminating the need for processor involvement in these operations. This extraction reduces processor overhead and transaction latency while maintaining packet delivery reliability.
Solution Approach 2:
The network adapter acts as an intermediary between the processor and the network, taking on the burden of packet reordering and reliability management. By introducing this intermediate layer with dedicated hardware buffers and reordering logic, the processor is shielded from latency-inducing operations while the network adapter ensures reliable delivery through its own mechanisms.
2Productivity
If processor involvement is reduced for high-performance computing, then latency is reduced and bandwidth is improved, but reliability management becomes challenging in networks with packet drop rates
Solution Approach 1:
The network adapter is designed to be self-sufficient in managing packet reliability without requiring processor intervention. It maintains its own buffer to store out-of-order packets and implements independent reordering logic, allowing it to self-correct network issues like packet drops and reordering. This self-service capability enables high-performance computing with reduced processor involvement while maintaining reliability.
Solution Approach 2:
The patent replaces the software-based reliability management mechanism (processor involvement) with a hardware-based mechanism (network adapter with dedicated buffer and reordering logic). This mechanical substitution moves reliability management from the software layer to the hardware layer, enabling faster operation with minimal processor involvement while ensuring packet delivery reliability through hardware-enforced reordering.
3Productivity
If out-of-order packet transmission is enabled for efficiency, then bandwidth utilization is improved, but traditional protocols require processor intervention to maintain ordering
Solution Approach 1:
The patent extracts the reordering function from the processor and implements it in the network adapter hardware. The network adapter uses a dedicated buffer to store packets that arrive out of order and retransmits them in the correct sequence without requiring processor intervention. This extraction enables efficient out-of-order transmission while maintaining proper packet ordering through hardware-based mechanisms.
Solution Approach 2:
The patent replaces software-based reordering (processor involvement) with hardware-based reordering in the network adapter. The network adapter's buffer and reordering logic operate in hardware, enabling efficient out-of-order packet transmission and reordering without processor intervention. This mechanical substitution reduces device complexity from the processor perspective while enabling improved bandwidth utilization.
Data Source
AI summary
A computing system supporting reliable network communications can include a virtual machine executing a user application, and a network adapter device coupled to the virtual machine via a plurality of virtual interfaces. The user application can communicate with the network adapter device using a virtual interface assigned to the user application. Queue pairs, each including a send queue and a receive queue, can be implemented to process transmit packets being sent from the virtual machine to the network and incoming packets being sent to the virtual machine from the network.


