• 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 只是一个特例,这就是排队系统的直观解释。

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

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

  • 相关阅读:
    Chrome扩展程序开发随记
    element 表格拖拽保存插件
    Day10配置文件&日志&多线程
    【Linux】POSIX信号量
    使用npm下载包提示idealTree:pxx: sill idealTree buildDeps的解决方法
    threejs 保存图片并且下载
    安卓(Android)面试题库(含答案)
    HttpRunnerManager(四) - 完成安装注册&登录
    connection_reset解决方案
    基于人工势场法的移动机器人路径规划研究(Matlab代码实现)
  • 原文地址:https://blog.csdn.net/dog250/article/details/128128806