Scalable TCP: Improving Performance in Highspeed Wide Area

Download Report

Transcript Scalable TCP: Improving Performance in Highspeed Wide Area

Scalable TCP: Improving Performance in Highspeed Wide Area Networks

Paper by Tom Kelly Presented by Christoph Jechlitschek

2 The Problem

 TCP performs badly with very large congestion windows  Converges slowly  Underutilizes available link capacity  Example: A 1 Gbps flow needs 28 minutes to recover from a single packet loss

3 TCP congestion window update

 cwnd  cwnd + 1/cwnd; - if no loss was detected  cwnd  cwnd/2; - if a loss was detected

4 TCP congestion window

5 Scalable TCP congestion window update

 cwnd  cwnd + 0.01; - if no loss was detected  cwnd  cwnd – 0.125 * cwnd; - if a loss was detected

6 Scalable TCP congestion window

7 Analysis

 Generalized form of update function: cwnd  cwnd + a; if no loss detected cwnd  cwnd – b * cwnd; if loss detected  What makes a = 0.01 and b = 0.125 a good choice?

8 Legacy connections

 Traditional connections: - are not designed to use large windows - limited amount of buffers  Legacy window size lwnd = 16  Legacy loss rate p l = 5.86 * 10 -3

9 Response curve

  Relates a and b Choosing one fixes the other

10 Instantaneous rate variation

 Avoid large instantaneous rate variations  Coefficient of variance depends on b only  Therefore b should be as small as possible

11 Convergence

 Converge to a new bound as fast as possible  Large a and b speed up convergence  Contradicts with earlier statement

Decision 12

  Balance variation with converge time Choose a = 0.01 and b = 0.125

13 Experiment setup

14 Gigabit kernel modifications

 Increases size of kernel interface queues  Avoids unnecessary packet copying  Removes debug counters

15 Performance test 1

 4 sender/receiver pairs transfer 2 GB files  Count number of transfers in 1200 seconds

16 Performance test 1 results

17 Performance test 2

 Simulate Web traffic using standard TCP  Background bulk transfer with Scalable TCP

18 Performance test 2 results

19 Conclusion

 Simple sender-side modifications greatly improved performance  No modification to receiver needed  Negligible effect on standard TCP connections  Incrementally deployable

Questions?