Adaptive Large Receive Offload Threshold Adjustment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network devices face inefficiencies in packet reception processing due to fixed Large Receive Offload (LRO) thresholds, leading to increased instances of LRO time-outs and higher reception stack overheads, which affect packet transmission efficiency.
Innovation Solution
The method adapts the LRO threshold based on the size of the TCP sliding window, reducing the threshold during packet loss and increasing it when acknowledgments indicate successful transmissions, allowing for dynamic aggregation of packets to reduce processing overhead and avoid time-outs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If a fixed LRO threshold is used to aggregate packets, then reception stack overhead is reduced, but LRO time-out instances increase
Solution Approach 1:
The LRO threshold is changed from a fixed value to a dynamic value that adapts based on network conditions. The threshold is adjusted according to the sender's sliding window size, which reflects current network状况 and transmission capabilities, thereby reducing time-outs while maintaining overhead reduction benefits
Solution Approach 2:
The system uses feedback from TCP acknowledgments and sequence numbers to detect packet loss events and adjust the LRO threshold accordingly. When packet loss is detected through re-transmissions, the threshold is reduced to prevent time-outs; when transmissions are successful, the threshold is increased to maintain overhead reduction
2Productivity
If the LRO threshold is increased to reduce processing overhead, then packet aggregation efficiency improves, but instances of LRO time-out increase
Solution Approach 1:
The LRO threshold dynamically adapts its value based on real-time network conditions reflected in the sender's sliding window size. This allows the system to maximize aggregation efficiency when conditions permit while preventing time-outs when network conditions deteriorate
Solution Approach 2:
The system changes the LRO threshold parameter in response to detected network conditions. By monitoring TCP sequence numbers and acknowledgments, the system adjusts the threshold parameter to balance aggregation efficiency with time-out prevention
3Reliability
If the LRO threshold is decreased to reduce LRO time-outs, then packet transmission reliability improves, but reception stack overhead increases
Solution Approach 1:
Rather than using a permanently low threshold, the system dynamically adjusts the threshold to be high when network conditions are good (maintaining low overhead) and low when conditions deteriorate (maintaining reliability). This dynamic approach resolves the contradiction by adapting to actual network state
4Device complexity
If a fixed LRO threshold is used, then device complexity is reduced, but adaptability to network conditions deteriorates
Solution Approach 1:
The system uses existing TCP protocol mechanisms (sequence numbers, acknowledgments, sliding window) that are already present in the network stack to automatically detect packet loss and adjust the LRO threshold. This self-service approach provides adaptability without requiring complex external control systems
Solution Approach 2:
The LRO threshold adjustment mechanism leverages the existing TCP sliding window mechanism, which already serves multiple functions including flow control and congestion control. By reusing this existing mechanism for LRO threshold adjustment, the system gains adaptability without adding significant complexity
Data Source
AI summary
Aspects of the disclosure provide a method for large receive offload (LRO). The method adaptively changes a number of packets aggregated in an aggregated packet based on a packet loss state in a network. The method reduces reception stack overhead while reducing waiting time for LRO time-out. The method includes receiving a packet belonging to a packet stream transmitted from a sender to a receiver, detecting a size of a sliding window used by the sender to transmit packets, adjusting an LRO threshold indicating a maximum number of packets allowed in an aggregated packet as a function of the size of the sliding window, and aggregating incoming packets into an aggregated packet based on the adjusted LRO threshold.


