TCP BBR对CUBIC流量的影响:混合工作负载评估外文翻译资料

 2021-11-06 19:34:09

英语原文共 9 页

TCP BBR对CUBIC流量的影响:混合工作负载评估

摘要:最近提出的称为BBR(瓶颈带宽和往返传播时间)的拥塞控制算法(CCA)在避免困扰基于损耗的CCA的一些问题方面显示出许多希望。然而,部署新的替代算法需要彻底评估所提出的替代方案对已建立的传输协议(如TCP CUBIC)的影响。此外,考虑互联网流量大小的异构性的评估将提供对算法的可部署性的有用见解,该算法在多个算法组件之间引入了彻底的变化。然而,大多数对BBR影响和竞争公平性的评估都集中在大流量的稳态表现上。这项工作扩展了以前的BBR研究,通过评估BBR在交通由不同大小的流量组成时的影响。我们的实验表明,在某些情况下,BBR的启动阶段可以显着降低竞争的大型CUBIC流量的吞吐量和瓶颈链路的利用率。此外,BBR的稳态运行可以解决使用基于丢失的CCA的突发流的性能而不是瓶颈,缓冲区大小高达带宽延迟产品的两倍。

一、介绍

数据包丢失长期以来一直被用作互联网上网络路径拥塞的主要指标。 基于Jacobson [1]关于拥塞控制的开创性工作,已经提出了许多基于损耗的拥塞控制算法(CCAs),并经过多次修改,以便在更快收敛,更好的损失恢复,提高公平性方面提供更好的性能。 然而,主要的基于损耗的CCA,包括广泛部署的CUBIC [2]算法,仍然存在性能问题,这是因为它们内在依赖于检测拥塞的损耗。

BBR [3](瓶颈带宽和往返传播时间)是最近提出的来自Google的CCA,采用不同的拥塞控制方法。 特别是,它不依赖于损失作为拥堵的主要指标。 具有过多缓冲空间的网络节点中的大型持久分组队列的表现,即缓冲区[4],是使用基于损耗的CCA的副产品之一,其促使BBR的发展[5]。 如果没有适当配置的主动队列管理(AQM),基于丢失的CCA将在很长一段时间内保留大量瓶颈缓冲区。 这可能导致共享瓶颈的延迟敏感流的性能下降。 基于损耗的CCA的另一个问题是CCA对拥塞前损失的过度反应。 基于损耗的CCA对拥堵前损失的过度反应是在与基于突发损耗的流量共享的浅缓冲瓶颈中大流量的低吞吐量背后的原因。

BBR在避免上述问题方面的优势,以及谷歌积极参与改进和部署算法,使BBR成为大规模部署的有前途的替代CCA。然而,在互联网上引入像BBR这样的替代CCA意味着逐步部署新算法。然后,新算法必须与当前基于损耗的算法共存一段延长的时间。这使得需要彻底了解新CCA与现有基于损失的CCA之间的相互作用。因此,这项工作旨在有助于理解新BBR CCA与先前存在的基于损失的CCA之间的相互作用。由于CUBIC是最常用的基于损耗的CCA之一(Linux中长期默认的CCA,最近也是Windows [6]中的默认CCA),我们选择CUBIC作为我们评估的代表性基于损失的CCA 。除上述考虑因素外,对新的替代CCA的评估应考虑通过互联网进行的数据传输规模的多样性。一个原因是大部分网络数据传输相对较小,因此数据传输可能无法进入CCA的稳态阶段。另外,接入链路上的瓶颈的带宽值跨越很宽的范围,因此相同的数据传输可以由不同网络中的CCA的不同阶段,网络中的位置或一天中的不同时间来支配。此外,瓶颈可以在通信路径中的任何点发生,并且缓冲区大小可以沿着该路径而不同。然而,到目前为止,对BBR的评估主要集中在批量转移,而且大多数忽略了大小流量混合的数据传输。在这些类型的数据传输中,交互不会持续足够长的时间来实现持续的吞吐量。因此,除了大数据传输的吞吐量之外,还需要通过将完成时间用作度量来衡量小数据传输性能的评估。

在本文中,我们提出的结果表明,由连续到达的中型BBR流组成的流量突发可以导致大量基于损耗的CCA在小缓冲区瓶颈中的吞吐量显着降低。与突发性BBR流量竞争的大型CUBIC流量的吞吐量的显着降低显示出导致瓶颈利用率低得多。此外,我们还评估了BBR稳态运行对基于损失的CCA的中小型流量的影响。我们的实验结果表明,在BDP(带宽 - 延迟 - 产品)缓冲瓶颈中与大型BBR流竞争时,使用CUBIC CCA的小型中型流经历显着更长的完成时间。我们还表明,在与大型BBR流量竞争时,具有基于丢失的CCA的相对较小的流量可以在瓶颈中经历更长的完成时间,缓冲区大小与2BDP一样大。从侧面说明,我们的实验证实,大型BBR流量确实可以避免缓冲区浮动,因此可以在具有大缓冲区的瓶颈中更快地完成竞争突发流的完成时间。

本文的其余部分安排如下:第二部分简要概述了我们实验中使用的CCA。 我们的实验中使用的网络和交通的特征在第III节中给出。 大多数实验场景的观测和一般模式的概述见第四节。 第六部分详细介绍了BBR稳态的影响,第五部分则重点介绍了BBR创业的影响。 第七部分简要讨论了结果的影响和反映当前与本文所示问题相关的活动。 还指出了未来可能采取的措施,以解决需要更多关注BBR无缝增量部署的问题。 相关工作见第八节,然后在第九节结束。

二、审查评估的CCAS

TCP CUBIC是针对具有高带宽延迟产品(BDP)的连接而优化的CCA。 CUBIC拥塞窗口(cwnd)增量基于自上次拥塞事件以来的时间的三次函数。在快速恢复之后的拥塞避免阶段,cwnd以凹面方式增加,直到达到Wmax值,Wmax值是最后一次丢失事件发生时的拥塞窗口的大小。在围绕Wmax值稳定一段时间后,cwnd以凹面方式继续增加,直到下一次丢失事件。 Linux TCP CUBIC实现还包含一个混合慢启动机制[7],这是一种主动启动机制,旨在检测并避免数据包丢失之前的拥塞。混合慢启动机制基于从包含长度增加的包络延迟中获得的拥塞信号来调整ssthresh。 BBR CCA避免使用数据包丢失作为拥塞信号,并且避免在发生拥塞的情况下构建瓶颈。 BBR背后的基本原则是端到端连接由瓶颈链路上可用的带宽容量和往返传播时间(RTT)控制。因此,BBR试图管理流量的最小结束时的拥塞估计以及瓶颈处的可用带宽以控制其发送速率和飞行数据包的数量。在稳定状态下,BBR不断探测带宽和RTT。通过发送速率

周期性地增加25%来执行带宽探测,并且通过将闪存分组的数量每10秒降低到最小值4个包来完成最小RTT探测,除非检测到比当前最小RTT更低的值。 在之前的10秒间隔内。 在稳定状态下,BBR以大约带宽探测周期的估计带宽速率发送数据。 它还将飞行数据的数量限制为等于估计带宽和传播RTT的乘积的值。 BBR有一个指数启动,当它无法检测到三个RTT的交付率显着增加(超过25%)时就会退出。 在退出启动时,BBR消耗由指数带宽搜索构建的队列并进入稳态阶段。

三、实验建立

表I总结了实验中使用的网络和流量设置。

  1. 网络仿真

图1中所示的拓扑用于模拟瓶颈链接并对不同的流组合进行实验。 每个节点之间的链路能够承载高达10 Gbps的流量。 设置一端的流量源节点生成不同的流量组合,目的地是设置另一端的流量汇聚节点。 边缘节点在具有四个核心的Intel Xeon X5550处理器上运行Linux 4.11.0操作系统。

中间节点用于创建模拟瓶颈和网络。该节点运行Linux 4.10。使用htb(分层tocken桶)qdisc模拟瓶颈,缓冲区大小通过netem qdisc配置.Anetem qdisc也用于应用模拟RTT的延迟。对于所有流量,最小端到端延迟被配置为相同(45ms),以确保结果不会因RTT的差异而产生偏差。为了覆盖广泛的当前访问速度,我们将模拟瓶颈范围的带宽值设置在5Mbps和70Mbps之间。每个瓶颈的缓冲区大小设置为具有不同的值,这些值是0.5BDP和8BDP之间的带宽延迟乘积(BDP)的倍数。

  1. 测试交易

我们的实验涉及可变大小的数据流,其数据传输由CCA的不同阶段支配,例如启动阶段或稳态阶段。对于大多数经过测试的瓶颈,大流量的数据传输主要由CCA的稳态阶段决定,而中小型流量在启动阶段完成大部分数据传输。如果没有明确说明,我们称30MB为大流量,1MB为中型流量,100KB为小流量。为了评估中型流体大小的作用,500KB和2MB的流量大小也被用作一些实验的中型流动。我们还使用了90MB的大流量来进行一些需要更长时间可靠性实验的实验。一般来说,这些实验涉及与中型或小型流动竞争的大流量和与其他中型流动竞争的中型流动。使用相同的CCA以及成对的不同CCA,使用相互竞争的流对大小进行实验。

所有流量都是使用iperf3生成的。我们在发出下一个iperf3呼叫之前等待0.1秒,以便在先前的小型或中型流量完成之后传输随后的中小型流量,即流量间隙。此外,我们还使用不同的间隙进行实验以观察影响。在所有的实验中,在大流量开始后0.5秒启动了一系列中小型流动与大流量竞争的第一批。引入这种延迟是为了确保小型中型流体避免大流量的启动阶段。关于流量大小,CCA对,瓶颈带宽和缓冲区大小的特定组合的每个实验重复十次。

四、观察概述

在本节中,我们简要讨论了针对不同CC组合的竞争大中型流动实验的一般观察。图2和图4显示了中型流动的完成时间,大流量的吞吐量,以及不同CCA和流量大小组合的瓶颈利用率,分别。我们为完成时间测量提供了保证间隔,这些间隔比吞吐量和利用率测量值更加可变。这些图是针对四种CCA组合给出的,其中大流量的CCA用全部大写字母书写,而中小型流动的CCA用所有小写字母书写:大型BBR流与中型BBR流动竞争(BBR-bbr),大型BBR流动与中型CUBIC流动(BBR-立方体)竞争,大型CUBIC流动与中型BBR流动(CUBIC-bbr)竞争,以及大型CUBIC流动与中型CUBIC流动(CUBIC) -立方体)。在本节的其余部分中,将逐一讨论上述每种交通组合。我们首先在接下来的两段中讨论同质CCA案例作为基准。然后,我们通过与基线进行比较来讨论混合的CCA观察结果。在接下来的两节中给出了改变混合CCA情况的实验参数的详细观察结果。

当大型CUBIC流体与中型CUBIC流体竞争时,大流量往往会导致中型流体在更大的瓶颈缓冲区尺寸下经历更长的完成时间,这可以从图2中的CUBIC-cubic结果中观察到。这主要是因为中小型飞行的完成时间取决于数据包的往返时间,而大型CUBIC流的缓冲区效应将导致大缓冲区的往返时间延长。另一方面,在小的缓冲瓶颈中,大的BBR流量被迫显着低于它们在具有大缓冲区的瓶颈中实现的吞吐量。在大多数情况下,当使用0.5BDP缓冲液与中等大小的CUBIC流量相比瓶颈链接时,观察到大型CUBIC流量的吞吐量显着降低。这也似乎导致瓶颈利用率的降低,因为到达的中型CUBIC流不能弥补大流量的减少的吞吐量。

在图中,仅由BBR流组成的流动组合(在x轴上标记为BBR-bbr)在缓冲区大小,大流量的吞吐量和中型流动的完成时间方面表现出一致的性能。 实现这一性能是因为如果小缓冲区中的早期丢失,大型BBR流量不会将数据包的数量减少一半。 此外,由于与大BBR流量共享的缓冲区大小增加,中型BBR流不会经历增加的延迟。 这是因为大BBR流量的数据包的数量受到限制,以使端到端RTT尽可能接近估计的最小RTT。

对于由大型CUBIC流体和中型BBR流体组成的流体组合,我们观察到在大型缓冲液中,中型BBR流体在与大型CUBIC流体竞争时经历更长的完成时间。 然而,这种效果并不像中等大小的CUBIC在类似条件下所经历的那样明显。 相比之下,大型CUBIC流体在较低缓冲区尺寸下所经历的吞吐量的减少对于中型BBR流动而言比中型CUBIC流动更为显着。 我们可以通过比较图3中的0.5BDP缓冲区的CUBIC-bbr和CUBIC-cubic来看到这一点。此外,对于一些瓶颈带宽,观察到CUBIC-bbr流组合会导致缓冲区大小减少瓶颈利用率显着降低 等于或等于BDP。 第V节详细讨论了瓶颈利用率降低的问题。对于由大型BBR流体与中型CUBIC流体竞争组成的流体混合物,总体趋势是随着瓶颈缓冲区变小,CUBIC流动的完成时间变长。这可以从图2中的BBR-立方体标记结果中观察到。在小缓冲瓶颈中,大BBR流量以CUBIC流量为代价实现了提高的吞吐量。与小型缓冲区(0.5BDP和1BDP)瓶颈中的大型BBR流竞争的CUBIC流的延长完成时间与中型CUBIC流与大型缓冲区(4BDP和8BDP缓冲区)瓶颈中的大型CUBIC流竞争所完成的完成时间相当。图2显示,在所有测试的缓冲区大小中,2BDP缓冲区导致中等大小(1MB)CUBIC流与大型BBR流和中型CUBIC流与大型CUBIC流竞争之间最完全可比的完成时间。这一观察结果与之前确定的2BDP缓冲区建议一致,即大BBR和大型CUBIC流之间的公平运行[8]。然而,第四节后面的详细实验表明,当与2BDP缓冲瓶颈中的大BBR流竞争时,尺寸远低于1MB的CUBIC流可能会经历更长的完成时间。

五、bbr启动的影响

本节提供了第四节中介绍的CUBIC-bbr流量组合的详细观察。因此,它着重于连续突发BBR流对大型CUBIC流的吞吐量的影响,以及利用大型CUBIC流和BBR突发之间共享的瓶颈。最后一小节是补充研究中型BBR爆发对相同大小的CUBIC爆发性能的影响。

A.使用小缓冲区启动瓶颈的影响

在第四节中,显示大型CUBIC流与瓶颈中的中型BBR流竞争,缓冲区大小小于或等于BDP会大幅减少吞吐量。图5中的图显示了大型CUBIC流的拥塞窗口以及连续到达的中型BBR(图5a)和CUBIC(图5b)的拥塞窗口在具有0.5BDP缓冲器的40Mbps瓶颈中流动。如图5a所示,随着中型流量的BBR启动呈指数增加而不对损失作出反应,它将快速饱和路径并超出大的CUBIC流量。因此,连续到达的中型BBR流迫使大的CUBIC流被限制在总容量(BDP 缓冲器)的非常小的份额中,对于通过40Mbps瓶颈的45ms连接,这是大约240个分组。

B.流量大小对吞吐量和利用率的影响

第四节中的观察结果用于1 MB大小的流动实验。在本小节中,我们介绍了使用1 MB以外的中型BBR流时观察

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。