Packet Reordering Hints for DPU Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computing systems, packets received from a remote source often arrive in a different order than they were sent, leading to inefficiencies in transport layer processing, which can incur long latency and consume significant resources when attempting to recover the original order of all packets.
Innovation Solution
A peripheral device with a network interface, host interface, packet processor, and Data Processing Unit (DPU) splits received packets into headers and payloads, generates hints based on the headers to identify the original order, and notifies the host of the correct order, allowing the DPU to skip reordering packets that arrived in the original order, thereby reducing latency and resource consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the destination recovers the original order of all received packets through transport layer processing, then the original packet order is restored, but processing latency increases and computational resources are consumed
Solution Approach 1:
The packet processor performs preliminary analysis of packet headers to identify packets that are already in the original order before transport layer processing. By pre-identifying correctly-ordered packets, the system avoids unnecessary reordering operations for these packets, thereby reducing processing latency while maintaining reliable packet order recovery for packets that actually need reordering
Solution Approach 2:
Instead of applying full transport layer reordering processing to all packets, the system applies partial processing only to packets that are identified as being out of order. Packets already in the correct order are skipped, reducing the overall computational burden and latency while still achieving complete packet order recovery for the necessary packets
2Reliability
If the destination recovers the original order of all received packets through transport layer processing, then the original packet order is restored, but computational resources are significantly consumed
Solution Approach 1:
The packet processor performs preliminary analysis of packet headers to identify packets that are already in the original order before transport layer processing. By pre-identifying correctly-ordered packets, the system avoids unnecessary reordering operations for these packets, thereby reducing computational resource consumption while maintaining reliable packet order recovery for packets that actually need reordering
Solution Approach 2:
Instead of applying full transport layer reordering processing to all packets, the system applies partial processing only to packets that are identified as being out of order. Packets already in the correct order are skipped, reducing the overall computational burden and resource consumption while still achieving complete packet order recovery for the necessary packets
3Reliability
If all packets are processed for reordering, then complete packet order recovery is achieved, but processing throughput decreases
Solution Approach 1:
The packet processor performs preliminary analysis of packet headers to identify packets that are already in the original order before transport layer processing. By pre-identifying correctly-ordered packets, the system avoids unnecessary reordering operations for these packets, thereby reducing processing latency while maintaining reliable packet order recovery for packets that actually need reordering
Solution Approach 2:
Instead of applying full transport layer reordering processing to all packets, the system applies partial processing only to packets that are identified as being out of order. Packets already in the correct order are skipped, reducing the overall computational burden and latency while still achieving complete packet order recovery for the necessary packets
Data Source
AI summary
A peripheral device coupled to a host includes a network interface, a packet processor, and a Data Processing Unit (DPU). The packet processor receives from a communication network, via the network interface, packets that originated from a source in an original order and received at the peripheral device in as order different from the original order. The packet processor splits the received packets into headers and payloads, sends the payloads for storage in a host memory and sends the headers without the payloads for storage in a DPU memory, and based on the headers produces a hint indicative of processing to be applied to the headers, by the DPU, for identifying the original order. Based on the hint, the DPU identifies the original order of the packets by applying the processing indicated by the hint to respective headers in the DPU memory, and notifies the host of the original order.


