IntroductionThere are considerable efforts within the Grid and high performance computing communities to improve end-to-end network performance for applications that require substantial amounts of network bandwidth. The Atlas project [19], for example, must be able to reliably transfer over 2 Petabytes of data per year over transatlantic networks between Europe and the United States.Recent experience [1,2] has demonstrated that actual aggregate TCP throughput realized by high performance applications is persistently much less than the end-to-end structural and load characteristics a network indicates is available. One source of poor TCP throughput is a packet loss rate that is much greater than what would be reasonably expected [20]. Packet loss is interpreted by TCP as an indication of network congestion between a sender and receiver. However, packet loss may be due to factors other than network congestion, such as intermittent hardware faults [4].Current efforts to improve end-to-end performance take advantage of the empirically discovered mechanism of striping data transfers across a set of parallel TCP connections to substantially increase TCP throughput. As a result, application developers and network engineers must have a sound understanding of how parallel TCP connections improve aggregate throughput as well as their effects on a network. This paper addresses several questions concerning the use of parallel TCP connections. The first question is how the use of parallel TCP connections increases aggregate throughput. The second is how to determine the number of TCP connections needed to maximize throughput while avoiding network congestion. Finally, understanding how parallel TCP connections affect a network, and under what conditions they should not be used. This paper suggests some practical guidelines for the use of parallel sockets to maximize end-to-end performance for applications while simultaneously minimizing their network effects.The remainder of this paper is organized as follows. Section two discusses current work. Section three presents a parallel socket TCP bandwidth estimation model and the experimental results. Section four discusses the behavior of packet loss on the Internet and its effect on TCP throughput. Section five presents conclusions and guidelines for using parallel sockets, and discusses some possible avenues for future work.
Current WorkApplications generally take two approaches to improve end-to-end network throughput that effectively defeats the congestion avoidance behavior of TCP. The first approach utilizes UDP, which puts responsibility for both error recovery and congestion control completely in the hands of the application. The second approach opens parallel TCP network connections and "stripes" the data (in a manner similar to RAID) across a parallel set of sockets. These two approaches are aggressive and do not permit the fair sharing of the network bandwidth available to applications [5].Recent work [1,2,6] has demonstrated that the parallel socket approach ...
Abstract-Applications that require good network performance often use parallel TCP streams and TCP modifications to improve the effectiveness of TCP. If the network bottleneck is fully utilized, this approach boosts throughput by unfairly stealing bandwidth from competing TCP streams. Improving the effectiveness of TCP is easy, but improving effectiveness while maintaining fairness is difficult. In this paper, we describe an approach we implemented that uses a long virtual round trip time in combination with parallel TCP streams to improve effectiveness on underutilized networks. Our approach prioritizes fairness at the expense of effectiveness when the network is fully utilized. We compared our approach with standard parallel TCP over a wide-area network, and found that our approach preserves effectiveness and is fairer to competing traffic than standard parallel TCP.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.