RoCE Transmission Timeout Tuning Without RTT Measurement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing networking systems, particularly RoCE, face challenges in optimizing transmission timeout values to maximize bandwidth and minimize latency, as RTT is not a known value, leading to suboptimal performance in lossless networks with varying packet loss rates.
Innovation Solution
A hardware-implemented method adjusts transmission timeout values dynamically by increasing or decreasing them based on packet reception status, using a state indication and packet transmission timer counter, to achieve near-optimal values without relying on RTT.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a fixed timeout value is used in RoCE networking, then the system is simple to implement, but bandwidth is not maximized and latency is not minimized due to inability to adapt to varying network conditions
Solution Approach 1:
The patent implements dynamic timeout adjustment by maintaining a timeout value that adapts to network conditions. The system transitions from a fixed timeout approach to a dynamic one where the timeout value changes based on packet transmission success, using mechanisms like timeout multiplication on failure and timeout division on success to optimize bandwidth while managing complexity through structured adaptation rules
Solution Approach 2:
The system employs feedback mechanisms by monitoring packet transmission outcomes (ACK/NACK packets) and adjusting the timeout value accordingly. When packets are successfully received, the timeout is decreased; when packets are lost, the timeout is increased, creating a closed-loop control system that continuously optimizes performance based on network conditions
2Reliability
If timeout value is increased to handle packet loss, then reliability improves, but latency increases due to longer waiting periods before retransmission
Solution Approach 1:
The timeout value dynamically adapts to network conditions rather than remaining fixed. The system adjusts timeout based on actual packet transmission outcomes, increasing timeout only when necessary (on packet loss) and decreasing it when transmission succeeds, thereby balancing reliability requirements with latency minimization through condition-based adaptation
Solution Approach 2:
The patent changes the timeout parameter based on network conditions by multiplying the timeout value on packet loss and dividing it on successful reception. This parameter adaptation allows the system to maintain reliability by increasing timeout when needed while reducing latency by decreasing timeout when network conditions are good
3Loss of time
If timeout value is decreased to minimize latency, then response time improves, but bandwidth utilization decreases due to premature retransmissions
Solution Approach 1:
The system dynamically adjusts timeout values based on actual network performance rather than using a conservative fixed value. By monitoring packet transmission success and adapting the timeout accordingly, the system minimizes unnecessary waiting time while avoiding premature retransmissions that would waste bandwidth, achieving optimal bandwidth utilization through adaptive timing
4Productivity
If RTT-based timeout calculation is used as in TCP, then timeout optimization is achieved, but it cannot be applied in RoCE since RTT is not a known value
Solution Approach 1:
The patent introduces intermediary mechanisms (ACK/NACK packets and timeout multiplication/division operations) that enable timeout optimization without requiring direct RTT measurement. These intermediaries allow the system to infer network conditions and adjust timeout values in RoCE, making timeout optimization adaptable to protocols where RTT is not directly available
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method including providing a hardware-implemented networking system having a sending device, a receiving device, and a communications medium, providing an initial value for transmission timeout and setting a current value for transmission timeout to the initial value, sending one or more packets associated with a given queue from the sending device to the receiving device via the communications medium, setting a packet transmission timeout timer associated with the given queue to the current value for transmission timeout, and upon expiration of a packet transmission timeout timer associated with the given queue, performing the following: A. determining whether one or more packets have been successfully received by the receiving device, and performing one or both of the following steps B and C: B. if one or more packets have been successfully received by the receiving device, decreasing the current value for transmission timeout, and C. if no packets have been successfully received by the receiving device, increasing the current value for transmission timeout. Related apparatus and methods are also provided.