AIMD Additive increase Multiplicative Decrease CA 算法在检测到丢失时将拥塞窗口的大小减半。但是,除了“直觉”之外,有哪些实验/统计或理论证据表明除以 2 是最有效的方法(而不是另一个数值)?有人可以向我指出支持这一观点或调查这一主张的出版物或期刊论文吗?
2 回答
实际上,因子 2 也出现在算法的另一部分:慢启动,每个 RTT 窗口加倍。慢启动本质上是对拥塞窗口最优值的二分搜索,其上限为无穷大。
当你因为丢包退出慢启动时,很自然拥塞窗口减半(因为之前 RTT 的值没有引起拥塞),也就是说你恢复慢启动的最后一次迭代,然后用 a 微调线性搜索。这是退出慢启动时减半的主要原因。
然而,当传输处于稳定状态时,CA 也使用 1/2 因子,在慢启动结束后很长时间。这没有很好的理由。我也将其视为二分搜索,但向下,有限上限等于当前拥塞窗口;可以非正式地说,它与慢启动相反。
您还可以阅读 Van Jacobson(TCP 的主要设计者之一)的文档《拥塞避免和控制》,1988 年;附录 D 准确讨论了如何选择减半因子。
这里的所有算法
https://en.wikipedia.org/wiki/TCP_congestion_control#Algorithms
以一种或另一种形式改变拥塞窗口,它们都会产生不同的结果,这是可以预料的。
有人可以向我指出支持这一观点或调查这一主张的出版物或期刊论文吗?
Yang Richard Yang & Simon S. Lam 的论文在这篇论文中进行了调查
http://www.cs.utexas.edu/users/lam/Vita/Misc/YangLam00tr.pdf
我们将此窗口调整策略称为一般加法增加乘法减少(GAIMD)。我们将 GAIMD 流的(平均)发送速率表示为 α、β 的函数。
作者对 AIMD 的加法和乘法部分进行了参数化,然后对它们进行了研究,看看它们是否可以针对各种 TCP 流进行改进。这篇论文对他们做了什么以及产生了什么影响进行了相当深入的研究。总结...
我们发现 GAIMD 流对 TCP 非常友好。此外,β 为 7/8 而不是 1/2,与 TCP 流相比,这些 GAIMD 流具有减少的速率波动。
如果我们相信论文的结论,那么就没有理由相信这2
是灵丹妙药。我个人怀疑是否存在,best factor
因为它基于太多变量,即协议、流类型等。