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
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?