Parallel TCP Sockets: Simple Model, Throughput and Validation

  • Eitan Altman ,
  • Dhiman Barman ,
  • Bruno Tuffin ,
  • Milan Vojnovic

MSR-TR-2005-130 |

Proceedings of the ACM SIGCOMM Workshop on Mining Network Data (MineNet'05)

We consider a simple model of parallel TCP connections defined as follows. There are N connections competing for a bottleneck of fixed capacity. Each connection is assumed to increase its send rate linearly in time in absence of congestion indication and otherwise decreases its rate to a fraction beta of the current send rate. Whenever aggregate send rate of the connections hits the link capacity, a single connection is signalled a congestion indication. Under the prevailing assumptions, and assuming only in addition a mild stability condition, we obtain that the throughput is the factor of the link capacity, 1-1/(1+ const N), with const = (1+beta)/(1-beta). This result appears to be previously unknown; despite simplicity of its final form, it is not immediate. The result is of practical importance as it elucidates the throughput of parallel TCP sockets, an approach used widely to improve throughput performance of bulk data transfers (e.g. GridFTP), in regimes when individual connections are none or weakly synchronized. We argue that it is important to distinguish two factors that contribute to TCP throughput deficiency (F1) TCP window synchronization and (F2) TCP window adaptation in congestion avoidance. Our result is a good news as it suggests that in regimes when (F1) does not hold, already a few sockets are enough to almost entirely eliminate the deficiency due to (F2). Specifically, the result suggests that already 3 TCP connections yield 90 % link utilization and 95 % is almost achieved by 6 connections. This analytically proven result should provide incentive to throughput-greedy users to limit the number of their parallel TCP sockets as a few connections already ensure effectively 100 % utilization, and any additional connection would provide only a marginal throughput gain. Opening too many sockets is not desirable as such transfers may beat down other connections sharing a link on the path of this transfer. However, there still remains a throughput deficiency due to (F1), which may provide incentive to users to open more sockets. The result found in this paper suggests that throughput-deficiency of parallel TCP sockets would be largely attributed to the synchronization factor (F1) and not to window control (F2). This motivates intelligent queueing disciplines that help mitigating the synchronization. As a by-product, the result shows that emulation of parallel TCP connections by MultTCP protocol is a good approximation. The implication of the result is that aggregate throughput achieved by connections is insensitive to a choice of loss policy which connection is signalled a congestion indication at congestion events. This perhaps somewhat counter-intuitive throughput insensitivity property is showed not to hold for steady-state distribution of the aggregate send rate. We provide validation of our results by simulations and internet measurements.