Scalable TCP: Improving Performance in Highspeed Wide Area Networks Paper by Tom Kelly Presented by Christoph Jechlitschek The Problem 2 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 TCP congestion window update 3 cwnd cwnd + 1/cwnd; - if no loss was detected cwnd cwnd/2; - if a loss was detected TCP congestion window 4 Scalable TCP congestion window update 5 cwnd cwnd + 0.01; - if no loss was detected cwnd cwnd – 0.125 * cwnd; - if a loss was detected Scalable TCP congestion window 6 Analysis 7 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? Legacy connections Traditional connections: - are not designed to use large windows - limited amount of buffers Legacy window size lwnd = 16 Legacy loss rate pl = 5.86 * 10-3 8 Response curve 9 Relates a and b Choosing one fixes the other Instantaneous rate variation Avoid large instantaneous rate variations Coefficient of variance depends on b only Therefore b should be as small as possible 10 Convergence Converge to a new bound as fast as possible Large a and b speed up convergence Contradicts with earlier statement 11 Decision 12 Balance variation with converge time Choose a = 0.01 and b = 0.125 Experiment setup 13 Gigabit kernel modifications 14 Increases size of kernel interface queues Avoids unnecessary packet copying Removes debug counters Performance test 1 15 4 sender/receiver pairs transfer 2 GB files Count number of transfers in 1200 seconds Performance test 1 results 16 Performance test 2 17 Simulate Web traffic using standard TCP Background bulk transfer with Scalable TCP Performance test 2 results 18 Conclusion 19 Simple sender-side modifications greatly improved performance No modification to receiver needed Negligible effect on standard TCP connections Incrementally deployable Questions?
© Copyright 2026 Paperzz