With the growth of high performance networking, a single host may have simultaneous connections that vary in bandwidth by as many as six orders of magnitude. We identify requirements for an automatically-tuning TCP to achieve maximum throughput across all connections simultaneously within the resource limits of the sender. Our auto-tuning TCP implementation makes use of several existing technologies and adds dynamically adjusting socket buffers to achieve maximum transfer rates on each connection without manual configuration.Our implementation involved slight modifications to a BSD-based socket interface and TCP stack. With these modifications, we achieved drastic improvements in performance over large bandwidth delay paths compared to the default system configuration, and significant reductions in memory usage compared to hand-tuned connections, allowing servers to support at least twice as many simultaneous connections.
[1]
Peter Steenkiste,et al.
Routing high-bandwidth traffic in max-min fair share networks
,
1996,
SIGCOMM 1996.
[2]
Sally Floyd,et al.
Simulation-based comparisons of Tahoe, Reno and SACK TCP
,
1996,
CCRV.
[3]
V. Jacobson,et al.
Congestion avoidance and control
,
1988,
CCRV.
[4]
Matthew Mathis,et al.
The macroscopic behavior of the TCP congestion avoidance algorithm
,
1997,
CCRV.
[5]
W. Richard Stevens,et al.
TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms
,
1997,
RFC.
[6]
Cheng Song,et al.
High performance TCP in ANSNET
,
1994,
CCRV.
[7]
Samuel J. Leffler,et al.
The design and implementation of the 4.3 BSD Unix operating system
,
1991,
Addison-Wesley series in computer science.
[8]
Keith Bostic,et al.
The design and implementa-tion of the 4.4BSD operating system
,
1996
.