BBR 公平收敛

BBR 的公平收敛来自于两点:

  • ProbeBW 状态加速比收敛:带宽越大,加速比越小。
  • ProbeRTT 状态 RTT 收敛:inflight 越大,越容易让 inflight 小的测到 minrtt 而避免进入 ProbeRTT,inflight 越小,测量 minrtt 偏大,趋向更大 inflight。

详情参见:有趣的TCP BBR ProbeRTT行为点滴
但还是复杂了,写个简单的解释。

排队论模型,排队时间为:

T

=

1

/

(

μ

λ

)

T=1/(μ−λ)

T=1/(μλ) ,T 作为 RTT 的一部分,λ 为 Pacing Rate, μ 为Delivery Rate, μ 一定,作图如下:
在这里插入图片描述
这是双曲线的一支。

ProbeBW 加速比描述为增加单位 inflight 带来 Delivery Rate 的增量。inflight 在排队系统描述为排队时间 T 的线性函数,则加速比即该曲线的斜率,很明显,斜率是递增的。

若排队时间一定, μ 和 λ 是线性关系。在排队系统中,多流排队时间相同,所以:

  • inflight 越大,增加相同 inflight 带来的 Delivery Rate 增益越小,趋向公平。

收敛图如下:
在这里插入图片描述
这个结论套用了排队理论公式,但直接从 BBR 原理图也能殊途同归。

先看理想情况:
在这里插入图片描述
考虑下图,盗自 单流 TCP 100Gbps+ 难题的直观解释
在这里插入图片描述
​所以事情真相是:
在这里插入图片描述
DeliveryRate/inflt 曲线一定上凸,这一点从以上 “处理时间/到达时间” 图中看出:inflt 增加,排队概率增加,由于钟形分布对称,净损耗率增加,吞吐增益减少。

若不易直观看出,可想象排列组合,1 个 inflt 只能有一种到达方式,带来 1 个增益,2 个 inflt 在 2 个时间槽可排 (0, 2),(1, 1) 两种,凡是带有 0 的组合,都有浪费的周期,3 个 inflt 在 3 个时间槽可排 (3, 0, 0),(2, 1, 0),(1, 1, 1),随着 inflt 增加,“到达模式” 中全 1 的满载槽占比减少,分别为 1/1,1/2,1/3,1/4,1/5 …

同理,RTT/inflt 曲线一定是下凸。最终拟合两张图,得到右图,与排队论公式描述一致。

核心在于 DeliveryRate/inflt 上凸曲线和 RTT/inflt 下凸曲线是普适的,反而 BBR 只是一个特例,这就是排队系统的直观解释。

有了该图,看图说话就行,公平收敛结论和基于排队论公式的结论一致。

下面是上图一个拟合示例:
在这里插入图片描述
浙江温州皮鞋湿,下雨进水不会胖。

原文链接: https://blog.csdn.net/dog250/article/details/128128806

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    BBR 公平收敛

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/405343

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年4月26日 上午9:08
下一篇 2023年4月26日 上午9:08

相关推荐