A control-theoretic approach to flow control
SIGCOMM '91 Proceedings of the conference on Communications architecture & protocols
Random early detection gateways for congestion avoidance
IEEE/ACM Transactions on Networking (TON)
High performance TCP in ANSNET
ACM SIGCOMM Computer Communication Review
Measuring bottleneck link speed in packet-switched networks
Performance Evaluation
Improving the start-up behavior of a congestion control scheme for TCP
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
Generating representative Web workloads for network and server performance evaluation
SIGMETRICS '98/PERFORMANCE '98 Proceedings of the 1998 ACM SIGMETRICS joint international conference on Measurement and modeling of computer systems
On estimating end-to-end network path properties
Proceedings of the conference on Applications, technologies, architectures, and protocols for computer communication
MSWIM '01 Proceedings of the 4th ACM international workshop on Modeling, analysis and simulation of wireless and mobile systems
A Simple Refinement of Slow-Start of TCP Congestion Control
ISCC '00 Proceedings of the Fifth IEEE Symposium on Computers and Communications (ISCC 2000)
End-to-end available bandwidth: measurement methodology, dynamics, and relation with TCP throughput
IEEE/ACM Transactions on Networking (TON)
Variability in TCP round-trip times
Proceedings of the 3rd ACM SIGCOMM conference on Internet measurement
Improving TCP Startup Performance Using Active Measurements: Algorithm and Evaluation
ICNP '03 Proceedings of the 11th IEEE International Conference on Network Protocols
Scalable TCP: improving performance in highspeed wide area networks
ACM SIGCOMM Computer Communication Review
Proceedings of the 2004 conference on Applications, technologies, architectures, and protocols for computer communications
Packet-dispersion techniques and a capacity-estimation methodology
IEEE/ACM Transactions on Networking (TON)
Measuring the evolution of transport protocols in the internet
ACM SIGCOMM Computer Communication Review
Impact of background traffic on performance of high-speed TCP variant protocols
Computer Networks: The International Journal of Computer and Telecommunications Networking
Characterizing residential broadband networks
Proceedings of the 7th ACM SIGCOMM conference on Internet measurement
CUBIC: a new TCP-friendly high-speed TCP variant
ACM SIGOPS Operating Systems Review - Research and developments in the Linux kernel
A measurement study of internet delay asymmetry
PAM'08 Proceedings of the 9th international conference on Passive and active network measurement
TCP Vegas: end to end congestion avoidance on a global Internet
IEEE Journal on Selected Areas in Communications
Hi-index | 0.00 |
Standard slow start does not work well under large bandwidth-delay product (BDP) networks. We find two reasons for this problem in three popular existing operating systems: Linux, FreeBSD and Windows XP. The first reason is that heavy packet losses occur because of the exponential increase of the congestion window during standard slow start. Recovering from heavy packet losses puts extremely high loads on end systems, rendering the end systems completely unresponsive for a long period of time, and results in a long blackout period without transmission. This problem commonly occurs with all three operating systems. The second reason is that some proprietary protocol optimizations applied to slow start happen to slow down the loss recovery followed by slow start. Although improving the system bottleneck by optimizing data structures is valuable especially for addressing the processing overload with heavy packet losses, it is not effective for the prolonged loss recovery caused by proprietary optimizations. In addition, a large number of packet losses are not desirable since they waste network bandwidth and lead TCP into frequent timeouts and loss synchronization which results in under-utilization of the network. We propose a new slow start algorithm, called Hybrid Start (HyStart), that finds a ''safe'' exit point for slow start at which it can terminate and safely advance to the congestion avoidance phase without causing heavy packet loss. HyStart uses ACK trains and RTT delay samples to detect whether (1) the forward path is congested or (2) the current size of the congestion window has reached the available capacity of the forward path. HyStart is a plugin to TCP senders and requires no change on TCP receivers. We implement HyStart for TCP-NewReno and TCP-SACK in Linux and compare its performance with five different slow start schemes on the TCP receivers of the three different operating systems on the Internet and also in lab testbeds. Our results indicate that HyStart works consistently well under diverse network environments, including asymmetric links, wireless networks, and high and low BDP networks. Especially with different operating system receivers (Windows XP and FreeBSD), HyStart improves the start-up throughput of TCP significantly by more than 2 to 3 times and is the default slow start algorithm of CUBIC since Linux 2.6.29.