GIT-CERCS-04-03
Ravi Prasad, Manish Jain, Constantinos Dovrolis,
Socket Buffer Auto-Sizing for High-Performance Data Transfers
It is often claimed that TCP is not a suitable transport protocol for data
intensive Grid applications in high-performance networks. We argue that this
is not necessarily the case. Without changing the TCP protocol, congestion
control, or implementation, we show that an appropriately tuned TCP bulk
transfer can saturate the available bandwidth of a network path. The proposed
technique, called SOBAS, is based on automatic socket buffer sizing at the
application layer. In non-congested paths, SOBAS limits the socket buffer size
based on direct measurements of the received throughput and of the
corresponding round-trip time. The key idea is that the send window should be
limited, after the transfer has saturated the available bandwidth in the path,
so that the transfer does not cause buffer overflows ("self-induced losses").
A difference with other socket buffer sizing schemes is that SOBAS does not
require prior knowledge of the path characteristics, and it can be performed while the transfer is in progress. Experimental results in several high
bandwidth-delay product paths show that SOBAS provides consistently a
significant throughput increase (20% to 80%) compared to TCP transfers that
use the maximum possible socket buffer size. We expect that SOBAS will be
mostly useful for applications such as GridFTP in non-congested wide-area
networks.