Parallel TCP Sockets: Simple Model, Throughput and Validation

Parallel TCP Sockets: Simple Model, Throughput and Validation
复制标题

并行 TCP 套接字:简单模型、吞吐量和验证

DOI:
10.1109/infocom.2006.104
复制
发表时间:
2006
期刊:
Proceedings IEEE INFOCOM 2006. 25TH IEEE International Conference on Computer Communications
影响因子:
--
通讯作者:
M. Vojnović
M. Vojnović
中科院分区:
--
文献类型:
--
作者:
E. Altman;D. Barman;B. Tuffin;M. Vojnović

文献摘要

被引文献

相似文献

我们考虑一个简单的并行TCP连接模型,定义如下。存在N个连接竞争固定容量的瓶颈。假设每个连接在没有拥塞指示的情况下在时间上线性地增加其发送速率,否则将其速率降低到当前发送速率的分数β。每当连接的总发送速率达到链路容量时,就向单个连接发送拥塞指示信号。在普遍的假设下,并且仅另外假设一个温和的稳定性条件,我们得到吞吐量是链路容量的因子,1−1/(1+ const N),其中const =(1+β)/(1−β)。这个结果似乎是以前未知的;尽管它的最终形式很简单,但它不是直接的。结果是具有实际意义的,因为它阐明了吞吐量的并行TCP套接字,广泛使用的方法来提高吞吐量性能的批量数据传输(如GridFTP),在制度时,个别连接是没有或弱同步。我们认为,重要的是要区分两个因素,有助于TCP吞吐量不足(F1)TCP窗口同步和(F2)TCP窗口适应拥塞避免。我们的结果是一个好消息,因为它表明,在(F1)不成立的情况下,几个插座就足以几乎完全消除(F2)的不足。具体来说,结果表明,已经3个TCP连接产生90%的链路利用率,而95%几乎是通过6个连接实现的。这个经过分析证明的结果应该激励吞吐量贪婪的用户限制其并行TCP套接字的数量,因为几个连接已经有效地确保了100%的利用率,任何额外的连接都只能提供边际吞吐量增益。打开太多的套接字是不可取的,因为这样的传输可能会击败共享此传输路径上的链接的其他连接。然而,由于(F1),仍然存在吞吐量不足,这可能会激励用户打开更多的套接字。本文的结果表明,并行TCP套接字的吞吐量不足将主要归因于同步因子(F1),而不是窗口控制(F2)。这就激发了智能化的学习纪律,帮助减轻同步。作为一个副产品,结果表明,模拟并行TCP连接的MultTCP协议是一个很好的近似。其结果的含义是,连接实现的总吞吐量是不敏感的损失策略的选择,连接被告知在拥塞事件的拥塞指示。这也许有点违反直觉的吞吐量不敏感性属性不适用于稳态分布的聚合发送速率。我们通过模拟和互联网测量来验证我们的结果。
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 β 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+β)/(1−β). 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 counterintuitive 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.