麻省理工:网络拥塞算法存在设计缺陷
网络拥塞控制和服务质量(QoS)是两个紧密相关的课题,对网络进行有效的拥塞控制是提供有保证的网络服务质量的基础,也是互联网和专网高效率运行的根本保障之一。
麻省理工学院的一项研究发现,基于当前的拥塞控制算法(CCA)根本不可能创建一个公平、平等和无”饥饿”现象的网络。
本周一麻省理工学院发布的论文发现,无论采用何种网络拥塞控制算法,例如Google的BBR、FAST等,都会受到网络物理限制的影响,导致一些用户的带宽被“饿死”。
研究人员在论文中说:“我们的定理表明,网络拥塞控制算法最多只能从高吞吐量、低延迟范围以及没有饥饿现象(编者:一种极度的网络资源分配不公平现象,例如严重卡顿和带宽枯竭)这三个属性中同时选择两个,无法同时全部实现。”
该论文引用了一些非拥塞的网络问题,例如ACK聚合和终端主机调度,它们破坏了严格的算法控制,通过估计来处理那些网络上发生的超出控制范围的事件。
研究人员写道,在理想情况下,在单个网络上运行的拥塞控制算法旨在聚合并协同工作,以实现尽可能小的延迟范围。据研究人员称,这恰恰就是问题的症结所在。
“由于大多数CCA试图在多个数量级的速率下工作,它们必须将一个大的速率范围映射到一个小的延迟范围。因此,即使预估排队延迟的微小变化也会引起巨大的变化。”该团队写道。
换而言之,虽然算法试图掌控一切,但它们根本无法将现实世界中的物理缺陷或非拥塞延迟纳入计算。
我们能设计出更好的拥塞控制算法吗?
该论文承认,其结论“对于限制延迟的拥塞控制算法来说是一个噩耗”,并提出了“我们是否注定要在限制延迟和避免饥饿现象之间做出选择”的严峻问题。
论文的首席研究作者、麻省理工学院计算机科学家Venkat Arun在接受IEEE Spectrum采访时表示,他的团队的发现为以前归因于算法决策不佳和网络容量不足的拥塞控制算法问题提供了新的思路。
Arun和他的团队的研究表明,拥塞控制算法本身根本不是为了解决网络抖动而设计的,该论文使用它来指代网络延迟的非拥塞原因。“我们不相信通过将丢失率(或延迟)映射到发送率的算法来规避这个问题是可能的。”该团队写道。
对于这个这个看似不可避免的网络管理僵局,MIT团队提出了一些解决建议。在论文中,该团队提出了几项建议,例如增加算法排队时间以解决抖动问题。
尽管如此,该团队得出的结论是,即使这样可能还不够。“纯粹的端到端拥塞控制算法可能总是会遇到我们发现的问题,并且需要网络内支持,例如主动队列管理、显式拥塞信号或更强的隔离。”
论文地址:
http://people.csail.mit.edu/venkatar/cc-starvation.pdf