2022-08-28 14:30

麻省理工学院的研究人员设计了一种减少无线网络延迟的拥塞控制方案

Reducing Wireless Network Delays

为了减少视频流、移动游戏和其他网络服务的延迟时间并提高质量,麻省理工学院计算机科学和人工智能实验室的研究人员设计了一种针对时变无线连接(如蜂窝网络)的拥塞控制方案。图片来源:José-Luis oliivares, MIT

有限公司ngestion有限公司Ntrol系统可以帮助流媒体视频,移动游戏,和其他应用程序运行更顺畅。

麻省理工学院的研究人员为无线网络设计了一种拥塞控制方案,可以帮助减少延迟时间,提高视频流、视频聊天、移动游戏和其他网络服务的质量。

为了保持web服务的平稳运行,拥塞控制方案根据来自网络路由器的反馈信息推断出网络的带宽容量和拥塞情况,这些信息被编码在数据包中。这些信息决定了数据包通过网络发送的速度。

决定一个好的发送速率可能是一个艰难的平衡行为。发送方不希望过于保守:如果网络容量不断变化,比如从每秒2兆字节到每秒500千字节,发送方总是可以以最低速率发送流量。但你在Netflix上的视频,质量就会变得不必要的低。另一方面,如果发送方持续保持高速率,即使网络容量下降,它也可能淹没网络,形成一个等待发送的大量数据包队列。排队的数据包会增加网络的延迟,比如,导致你的Skype通话冻结。

在无线网络中,情况变得更加复杂,因为无线网络具有“时变连接”,容量变化迅速且不可预测。根据各种因素,如网络用户数量、蜂窝基站位置,甚至周围的建筑,容量可以在几分之一秒内翻倍或降到零。在USENIX网络系统设计与实现研讨会上发表的一篇论文中,研究人员提出了“加速刹车控制”(ABC),这是一种简单的方案,在时变连接上可以提高约50%的吞吐量和约一半的网络延迟。

该方案依赖于一种新颖的算法,该算法使路由器能够显式地通信应该有多少数据包通过一个网络,以避免拥塞但充分利用网络。它通过重新利用互联网数据包中已有的一个比特,提供了来自瓶颈的详细信息——例如在蜂窝基站和发送者之间排队的数据包。研究人员已经在与移动网络运营商讨论测试该方案。

“在蜂窝网络中,你的数据容量变化很快,导致你的服务滞后。传统的计划适应这些变化太慢了,”第一作者、CSAIL的研究生普拉提什·戈亚尔(Prateesh Goyal)说。“ABC使用单个数据位,就这些变化提供详细的反馈,无论是上升还是下降。”

和戈亚尔一起发表论文的还有阿纳普·阿加瓦尔(Anup Agarwal),他现在是卡内基瓜隆大学的研究生;Ravi Netravali,现任加州大学洛杉矶分校计算机科学助理教授;MIT电子工程系(EECS)和CSAIL副教授Mohammad Alizadeh;以及富士通EECS教授Hari Balakrishnan。作者都是CSAIL的网络和移动系统小组的成员。

实现显式控制

传统的拥塞控制方案依靠数据包丢失或来自互联网数据包中单个“拥塞”位的信息来推断拥塞并降低拥塞速度。路由器,如基站,将标记该位,以提醒发送方,如视频服务器,其发送的数据包在一个很长的队列中,信号拥塞。作为回应,发送方将通过发送更少的包来降低它的速率。如果发送方在到达接收方之前检测到一个包被丢弃的模式,它也会降低它的速率。

为了提供更多关于网络路径上的瓶颈链接的信息,研究人员提出了“显式”方案,在数据包中包含多个指定当前速率的比特。但这种方法将意味着彻底改变互联网发送数据的方式,而且它已被证明是不可能部署的。

“这是一项艰巨的任务,”Alizadeh说。“你必须对发送数据包的标准互联网协议(IP)进行侵入性的修改。你必须说服所有的互联网组织、移动网络运营商、isp和手机信号塔改变他们收发数据包的方式。这是不会发生的。”

对于ABC,研究人员仍然使用每个数据包中可用的单个比特,但他们这样做的方式是,这些比特在多个数据包中聚合,可以向发送者提供所需的实时速率信息。该方案在一个往返循环中跟踪每个数据包,从发送方到基站再到接收方。基站根据当前的网络带宽,用“加速”或“刹车”标记每个包中的位。当接收到数据包时,有标记的位告诉发送方增加或减少“飞行中的”数据包(发送但未接收的数据包),这些数据包可能在网络中。

如果接收到加速命令,则表示报文到达时间正确,网络有空闲容量。然后发送方发送两个包:一个用来替换接收到的包,另一个用来利用空闲容量。当被告知刹车时,发送方将其飞行中的数据包减少一个,这意味着它不会替换已收到的数据包。

在网络中的所有数据包中使用,这一比特信息成为一个强大的反馈工具,以高精度告诉发送者他们的发送速率。在几百毫秒内,它可以在0到2倍之间改变发送者的速率。“你会认为一个比特携带的信息不够,”Alizadeh说。“但是,通过聚合信息流中的单比特反馈,我们可以获得与多比特信号相同的效果。”

领先一步

ABC的核心是一种算法,它提前一个来回预测发送方的总速率,从而更好地计算加速/刹车反馈。

这个想法是这样的:一个装备了abc的基站知道发送者的行为——维护、增加或减少他们飞行中的数据包——基于它如何标记它发送给接收者的数据包。当基站发送一个包的那一刻,它就知道在未来一个来回的时间里它将从发送者那里收到多少包。它使用这些信息来标记数据包,以便更准确地将发送者的速率与当前的网络容量相匹配。

在蜂窝网络的模拟中,与传统的拥塞控制方案相比,ABC在大致相同的延迟下实现了大约30%到40%的高吞吐量。另外,通过保持与传统方案相同的吞吐量,它可以将延迟减少大约200%到400%。与现有的不针对时变链路设计的显式方案相比,在相同吞吐量的情况下,ABC将延迟减少了一半。“基本上,现有的方案获得低吞吐量和低延迟,或高吞吐量和高延迟,而ABC实现低延迟的高吞吐量,”戈亚尔说。

接下来,研究人员试图看看应用程序和网络服务是否可以使用ABC来更好地控制内容的质量。例如,“视频内容提供商可以利用ABC的拥塞和数据速率信息来更智能地选择流媒体视频的分辨率,”Alizadeh说。“如果没有足够的容量,视频服务器可以暂时降低分辨率,这样视频就可以以尽可能高的质量继续播放,而不会冻结。”