看到一篇文章觉得很有趣。在这里做些绍介。
拥塞控制的研究历史悠久,博客[11]给出了一些经典TCP拥塞控制的仿真结果,Reno,Cubic, DCTCP,BBR。[12]中是一些较老的拥塞控制算法的仿真测试。
但是也历久弥新。最近几年,学术界提出了一系列的拥塞控制算法(评审人插言,please mention which recent proposed works)。算了,我只是写博客,最近确实有不少的拥塞控制算法,PCC,COPA,DCTCP,Verus,BBR,BBRv2,C2TCP。
于是,就有一个问题,怎么评价一个算法比另一个算法优秀呢?这就是作者在[17]中要思考的问题。
其中常用的标准就公平性:经过瓶颈链路中的数据流能够平分带宽资源。例如下图的示意。
目前有好几篇文章,都给出了类似的图例,列出reference[1-5]供参考。
正如[10]所述,在发文章的时候,Every emerging algorithm claims to be the “state-of-the-art”。是骡是马,拉出来测试一把,有些算法就不甚理想。
寻找一个绝对公平的算法是一件很困难的事情。因为拥塞控制本身是个病态问题,并不存在一个完美的算法。
最近,我就在ns3平台上测试了一些算法。这里给出一些结果。
BBR
BBRPlus
bbrplus是一个博主的改进版本[16]。
c2tcp
copa
Copa在带宽分配公平性方面,带宽曲线结果简直完美。
cubic
elastic
Reno
PCC Vivace
另外一个标准就是TCP的友好性。这句话说得太模糊了。具体点就是,新提出的拥塞控制算法要对TCP Reno算法友好。新算法的数据流能和Reno流很好地分享瓶颈链路带宽。BBR 演进到2.0,似乎就有这样的目标。正如[17]所述,这个目标限制了拥塞控制的发展。用我的话就是,既然保证对Reno的友好,干脆直接采用Reno算法,还演进什么呢?学术界玩的就是概念。
所以,[17] 提出了新的评价标准:Harm。Charlie对Alice造成了一万点伤害。
We imagine a TCP connection where Alice is video conferencing with her friend Bob. When running alone, the connection achieves 15Mbps of throughput, packets arrive with 40ms
latency, and jitter is 10ms. When Alice’s roommate Charlie starts a large file transfer, Alice’s video conference connection drops to 10Mbps of throughput, latency increases to 50ms,
and jitter increases to 15ms. Since all of these performance metrics became worse due to to Charlie’s connection, we say that Charlie’s connection caused harm to Alice’s connection
Reference:
[1] Data Center TCP
[2] MDTCP: Towards a Practical Multipath Transport Protocol for Telco Cloud Datacenters
[3] PCC: Performance-oriented Congestion Control
[4] PCC Vivace: Online-Learning Congestion Control
[5] statistical learning based congestion control for real-time video communication
[6] tcp拥塞控制vegas的数学分析
[7]Congestion Control IV: Reinforcement Learning
[8] Pantheon: the training ground for Internet congestion-control research
[9] Indigo: Empirically learned congestion control
[10] Pantheon ppt
[11] TCP拥塞控制
[12] Performance Evaluation of TCP Congestion Control Algorithms in Data Center Networks
[13] HYBRID WINDOW AND RATE BASED CONGESTION CONTROL FOR DELAY SENSITIVE APPLICATIONS
[14] Comparing Congestion Control Regimes in a Large, Fast Network
[15] 让人们久等了的TCP BBR v2.0快要出炉了
[16] bbrplus
[17] Beyond Jain’s Fairness Index: Setting the Bar For The Deployment of Congestion Control Algorithms