Transcript CA-RTO: A Contention-Adaptive Retransmission Timeout
WB-RTO: A Window-Based Retransmission Timeout
Ioannis Psaras
Demokritos University of Thrace, Xanthi, Greece
Outline of the presentation
Contributions of this work The current Retransmission Timeout Algorithm Recent Related Work on the subject The proposed algorithm: WB-RTO The algorithm Expected Behavior Evaluation Plan Experimental Results COMputer NETworks Group (COMNET)
2
Contributions of this work
Our perspective: When contention increases, the timeout becomes the
scheduler
the link.
for Our observations: TCP-RTO should not be solely based on RTT estimations.
Congestion events cause retransmission synchronization.
Wireless burst errors should not be interpreted as congestion events.
Our solutions: Approximation of the current level of network contention Estimation of the contribution of each flow to congestion Allowance for asynchronous retransmissions when timeout happens.
3
COMputer NETworks Group (COMNET)
The current Retransmission Timeout Algorithm
Upon each ACK arrival, the sender: Calculates the RTT Variation: Updates the expected RTT prior to calculating the timeout: Calculates the Retransmission Timeout value:
4
COMputer NETworks Group (COMNET)
Recent Related Work on the subject
Eifel RTO
Algorithm Uses the timestamp option to detect a spurious timeout.
Forward RTO
Algorithm Uses the first 3 ACKs after the timeout to decide if the timeout was spurious or not.
Peak-Hopper RTO
Algorithm Uses 2 timers: one is aggressive and one is conservative. Each time it decides which one to follow.
CA-RTO
: A Contention-Adaptive RTO Integrates a contention-adaptive parameter and introduces retransmission randomness.
COMputer NETworks Group (COMNET)
5
Window-Based RTO (1/4): Proportional Timeout
Estimation of the contribution of the flow to congestion:
c = f(cwnd , max cwnd )
Compare the current
cwnd_
with the
max_cwnd_
: If
cwnd_
<
max_cwnd_ / 2
,
c = 1
: minimal charge If
max_cwnd_ / 2
<
cwnd_ < (3/4)* max_cwnd_
,
c = 1,5
: medium charge If
(3/4)* max_cwnd_ < cwnd_ < max_cwnd_
,
c = 2
: major charge
6
COMputer NETworks Group (COMNET)
Window-Based RTO (2/4): Contention Estimation
Flow classification according to its
cwnd_
history (
awnd_
):
ai = g(awnd , Thresholdi)
where
Thresholds 1 to 4
represent different levels of network contention:
Threshold 1
corresponds to very high contention,
Threshold 4
corresponds to low contention.
1. awnd_ < 5: a1 = 10 2. 5 < awnd_ < 10: a2 = 5 3. 10 < awnd_ < 30: a3 = 3 4. 30 < awnd_ < 50: a4 = 2
7
COMputer NETworks Group (COMNET)
Window-Based RTO (3/4): Timeout Adjustment
Calculation of the Window-Based RTO:
WB − RTO = random(rtt, c × ai)
or
WB − RTO = random(rtt, f(cwnd , max cwnd ) × g(awnd , Thresholdi))
1.
2.
3.
4.
rtt
, avoids timeout expiration prior to the estimated RTT measurement Parameter
c
captures the contribution of the flow to congestion Parameter
a
approximates the current level of flow contention Randomization guarantees asynchronous retransmission attempts
8
COMputer NETworks Group (COMNET)
Window-Based RTO (4/4): Expected Behavior
High penalties result in high timeout values.
As
awnd_
increases timeout settles to smaller values.
but Large windows do not always mean large timeout values.
WB-RTO vs awnd_
COMputer NETworks Group (COMNET)
9
Performance Evaluation Plan
WB-RTO is implemented in TCP-Reno Topologies used: Evaluation Scenarios Simple Wired Scenario Interaction with Active Queue Management (i.e. RED) Satellite Environment Traffic Diversity (Mice with Elephants) COMputer NETworks Group (COMNET)
10
An Important Note…
WB-RTO does not improve the Goodput performance of TCP significantly, but here we focus on the
Retransmission
Timeout Algorithm of TCP hence we pay more attention on the combination of the
retransmission
effort and the Goodput performance, rather than on the Goodput performance alone.
11
COMputer NETworks Group (COMNET)
Simple Wired Scenario (1)
Topology: Dumbbell Queuing Policy: DropTail DBP = Buffer Size = 10 pkts 5 participating flows 1500 sec total simulation time Flows ideal rate = 2 pkts/wnd We trace: Seqno progress, RTT, RTO
TCP-RTO
COMputer NETworks Group (COMNET)
WB-RTO 12
Simple Wired Scenario (2)
For the TCP-RTO performance, we observe: RTT stabilization Similar timeout values 50% more retransmitted pkts Less Goodput
RTT (in secs)
COMputer NETworks Group (COMNET)
RTO (in secs) 13
Interaction with AQM (i.e. RED) (1)
Topology: Dumbbell Queuing Policy: RED DBP = Buffer Size = 40 pkts min_thresh = 4 pkts max_thresh = 12 pkts 1500 sec total simulation time
Goodput (in B/s) Number of Timeouts Retransmitted Packets
COMputer NETworks Group (COMNET)
14
Interaction with AQM (i.e. RED) (2)
We observe: Similar Goodput Significant difference in Retransmission Effort (50%) WB-RTO results in 66% less timeout expirations TCP-RTO causes inefficient queue utilization The average queue length always overcomes the
max_thresh
, when using TCP RTO
TCP-RTO WB-RTO
COMputer NETworks Group (COMNET)
15
Satellite Scenario (1)
Topology: Cross-Traffic Bottleneck Queuing Policy: RED The rest of the buffers use DT bw_bottleneck = 20Mbps bw_delay = 300ms Buffer Size = 200 pkts min_thresh = 20 pkts max_thresh = 60 pkts 150 sec total simulation time PER = 0,0001 3 blackouts on the backbone link
No blackout
COMputer NETworks Group (COMNET)
After 3 blackouts 16
Satellite Scenario (2)
We observe that: TCP-RTO interprets the second timeout as a congestion signal WB-RTO does not extend the timeout, due to low contention and hence exploits bandwidth faster TCP-RTO still waits for the extended timeout to occur, while WB-RTO resumes transmission immediately
TCP-RTO
COMputer NETworks Group (COMNET)
WB-RTO 17
Traffic Diversity (Mice and Elephants) (1)
Topology: Dumbbell Bottleneck Queuing Policy: RED bw_bottleneck = 10Mbps bw_delay = 30ms Buffer Size = 40 pkts
Goodput (KB/s) Goodput per flow (KB/s) Retransmitted Packets
COMputer NETworks Group (COMNET)
18
Traffic Diversity (Mice and Elephants) (2)
We observe: Simultaneous timeout events for TCP-RTO All flows timeout during the Slow-Start Flows 7-9 timeout simultaneously 10 times during the experiment Short flows: 83 vs 50 timeouts Long flows: 43 vs 12 timeouts We conclude that: most of the timeouts are spurious WB-RTO achieves an important goal: it reduces the number of timeouts
TCP-RTO WB-RTO
COMputer NETworks Group (COMNET)
19
Conclusions
RTT measurements cannot always reflect the level of network contention TCP-RTO should not be solely based on RTT samples A contention-aware RTO proves to be more efficient, since it is aware of current network conditions.
A randomization factor in the RTO schedules retransmissions in a fairer manner .
20
COMputer NETworks Group (COMNET)
WB-RTO: A Window-Based Retransmission Timeout
Thank you!!
Presented by Ioannis Psaras e-mail: [email protected]
URL: utopia.duth.gr/~ipsaras COMputer NETworks Group (COMNET)
21