CA-RTO: A Contention-Adaptive Retransmission Timeout
Download
Report
Transcript CA-RTO: A Contention-Adaptive Retransmission Timeout
WB-RTO: A Window-Based
Retransmission Timeout
Ioannis Psaras, Vassilis Tsaoussidis
Demokritos University of Thrace, Xanthi, Greece
Motivation and Contribution
We observe that retransmission
scheduling affects transmission
scheduling
WB-RTO results in:
50% less retransmitted pkts
Higher Goodput, and
Better Fairness
than TCP-RTO
TCP-RTO
WB-RTO
COMputer NETworks Group (COMNET)
2
Motivation-Contribution
Perspective:
Motivation:
When contention increases, the timeout becomes the scheduler for
the link.
When contention is high, all flows measure similar RTTs.
TCP-RTO should not be solely based on RTT measurements.
Congestion events cause retransmission synchronization.
Algorithm:
Approximation of the current level of network contention
Estimation of the contribution of each flow to congestion
Allowance for asynchronous retransmissions when timeout happens.
COMputer NETworks Group (COMNET)
3
Motivation
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
Dumbbell Network Topology
COMputer NETworks Group (COMNET)
Sequence Number
RTT (in secs)
4
Motivation
For the TCP-RTO
performance, we observe:
RTT stabilization
Similar timeout values
~3000 retransmitted packets
in 1500 seconds
Un-Fairness
We investigate the impact of
retransmission synchronization on
system behavior (e.g. overhead)
RTO (in secs)
TCP Performance
COMputer NETworks Group (COMNET)
5
Outline of the presentation
The current Retransmission Timeout Algorithm
Recent Related Work
The proposed algorithm: WB-RTO
The
algorithm
Expected Behavior
Evaluation Plan
Experimental Results
COMputer NETworks Group (COMNET)
6
The current Retransmission Timeout Algorithm
Upon each ACK arrival, the sender:
Calculates the
Updates
RTT Variation:
the expected RTT prior to calculating the timeout:
Calculates the
Retransmission Timeout value:
COMputer NETworks Group (COMNET)
7
Recent Related Work
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
random retransmission scheduling.
COMputer NETworks Group (COMNET)
8
The 3 stages of WB-RTO
1. Contribution to Congestion
penalty
charge
2. Estimation of Contention
determine
the scale of possible values
3. Calculation of Timeout
COMputer NETworks Group (COMNET)
9
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,
If
max_cwnd_ / 2 < cwnd_ < (3/4)* max_cwnd_,
If
c = 1: minimal charge
c = 1,5: medium charge
(3/4)* max_cwnd_ < cwnd_ < max_cwnd_,
c = 2: major charge
COMputer NETworks Group (COMNET)
10
Window-Based RTO (2/4): Contention Estimation
Flow classification according to its cwnd_ history
(awnd_):
ai = g(awnd , Thresholdi)
where, awnd=average window, Thresholds 1 to 4 represent
different levels of network contention:
Threshold 1 corresponds to very high contention
Threshold 4 corresponds to low contention
Example:
1. awnd_ < 5: a1 = 10
2. 5 < awnd_ < 10: a2 = 5
3. 10 < awnd_ < 30: a3 = 3
4. 30 < awnd_ < 50: a4 = 2
COMputer NETworks Group (COMNET)
11
Adjust the scale
COMputer NETworks Group (COMNET)
12
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, to avoid 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
COMputer NETworks Group (COMNET)
13
Window-Based RTO (4/4): Expected Behavior
High penalties result in high
timeout values.
As awnd_ increases timeout
settles to smaller values.
So,
Large windows do not
always mean large timeout
values.
WB-RTO vs awnd_
COMputer NETworks Group (COMNET)
14
Performance Evaluation Plan
WB-RTO is implemented in TCP-Reno
Evaluation Scenarios
Motivation
Part Scenario
Scenario 1: Standard/Proposed Parameters
Scenario 2: Modified Parameters
COMputer NETworks Group (COMNET)
15
An Important Note…
WB-RTO does not improve the Goodput performance of TCP
significantly
We focus on concurrent Retransmissions
hence
we pay more attention on the combination of the
retransmission effort and the Goodput performance, rather
than on the Goodput performance alone.
COMputer NETworks Group (COMNET)
16
Scenario 1
Queuing Policy: DropTail
Bottleneck BW = 10Mbps
Bottleneck Delay = 10ms
Buffer Size = 50 pkts
1500 sec total simulation time
Goodput (in B/s)
Retransmitted Packets
COMputer NETworks Group (COMNET)
17
Scenario 1
Contention grows->WB-RTO
allows for better multiplexing
Behavior Captured by fairness
index
More flows are getting service
Fairness
Goodput per Flow (B/s)
COMputer NETworks Group (COMNET)
18
Scenario 2
Queuing Policy: DropTail
Bottleneck BW = 10Mbps
Bottleneck Delay = 10ms
Buffer Size = 50 pkts
1500 sec total simulation time
Scale now different
Goodput (in B/s)
Retransmitted Packets
COMputer NETworks Group (COMNET)
19
Scenario 2
Fairness initially drops
when the scale is not
adjusted appropriately
Fairness
Goodput per Flow (B/s)
COMputer NETworks Group (COMNET)
20
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
Number of Timeouts
Goodput (in B/s)
Retransmitted Packets
COMputer NETworks Group (COMNET)
21
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 TCPRTO
TCP-RTO
WB-RTO
COMputer NETworks Group (COMNET)
22
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
After 3 blackouts
COMputer NETworks Group (COMNET)
23
Satellite Scenario (2)
We observe that:
TCP-RTO interprets the
blackout as a congestion
signal
WB-RTO does not extend the
timeout, due to low contention
and hence exploits bandwidth
faster
TCP still waits for the
extended timeout to expire,
while
WB-RTO resumes
transmission immediately
TCP-RTO
WB-RTO
COMputer NETworks Group (COMNET)
24
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)
25
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
TCP-RTO
We conclude that:
most of the timeouts are
spurious
WB-RTO achieves an
important goal: it reduces the
number of timeouts
COMputer NETworks Group (COMNET)
WB-RTO
26
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
WB-RTO cancels some of TCP miss-responses with noncongestion errors
COMputer NETworks Group (COMNET)
27
Other References
[1] “CA-RTO: A Contention-Adaptive Retransmission Timeout
for TCP”, Ioannis Psaras, Vassilis Tsaoussidis,
IEEE ICCCN 05
[2] “Why TCP Timers (still) Don’t Work Well”, Ioannis Psaras,
Vassilis Tsaoussidis,
Computer Networks (COMNET), Elsevier Science, to appear
2007
http://comnet.ee.duth.gr/comnet/
COMputer NETworks Group (COMNET)
28