停车场拓扑(parking lot topology)中的 bbr 与 aimd

news2024/11/25 6:59:20

bbr 讨论组有个有趣的问题:[bbr-dev] Parking lot topology

我此前也意识到这个问题(参见 pacing 之对错),但几乎所有 cc 的建模都基于 dumbbell topology,parking lot topology 因其太 “不理想”,“不规则” 而无人讨论,而理论分析往往基于理想和规则去建模。

但在实践中,恶魔往往在细节,非算法核心的边角便不得不考虑,它们才是实践中占比更大的部分。先简单画一个 parking lot topology 结构:
在这里插入图片描述

和普通道路不同,繁忙期的停车场非常难开,停车的位置对驶出停车场的难度起到决定性作用,而不是车技和路况。对以上拓扑而言,在 flow 1,flow 2,flow 3 之间维持公平的难度在直觉上似乎是 0:

  • 若运行 bbr,flow 1 的 1.25X probe 作用在 SW 2 处将被削弱,与 flow 3 在 SW 2 处竞争时无法获得公平份额;
  • 若运行 aimd,SW 1 持续输出公平份额 bw,致使 flow 1 在 SW 2 处与 flow 3 竞争时无法扩展 buffer 占率;

直觉需要数学来佐证,为了便于扩展和魔改,我依然用微分方程组而不是递推式来模拟。

先看 bbr 的情形,设 C 为 SW 1,SW 2 处的总带宽, x₁ 为 flow 1 在 SW 1 获得的 bw,x₂ 为 flow 1 在 SW 2 获得的 bw,y,z 分别为 flow 2,flow 3 的 bw,则:

d x 1 d t = C ⋅ G ⋅ x 2 ⋅ R p r o p G ⋅ x 2 ⋅ R p r o p + y ⋅ R p r o p − x 1 \dfrac{dx_1}{dt}=C\cdot\dfrac{G\cdot x_2\cdot R_{prop}}{G\cdot x_2\cdot R_{prop}+y\cdot R_{prop}}-x_1 dtdx1=CGx2Rprop+yRpropGx2Rpropx1

d y d t = C ⋅ G ⋅ y ⋅ R p r o p G ⋅ y ⋅ R p r o p + x 1 ⋅ R p r o p − y \dfrac{dy}{dt}=C\cdot\dfrac{G\cdot y\cdot R_{prop}}{G\cdot y\cdot R_{prop}+x_1\cdot R_{prop}}-y dtdy=CGyRprop+x1RpropGyRpropy

d x 2 d t = C ⋅ x 1 ⋅ R p r o p x 1 ⋅ R p r o p + z ⋅ R p r o p − x 2 \dfrac{dx_2}{dt}=C\cdot\dfrac{x_1\cdot R_{prop}}{ x_1\cdot R_{prop}+z\cdot R_{prop}}-x_2 dtdx2=Cx1Rprop+zRpropx1Rpropx2

d z d t = C ⋅ G ⋅ z ⋅ R p r o p G ⋅ z ⋅ R p r o p + x 1 ⋅ R p r o p − z \dfrac{dz}{dt}=C\cdot\dfrac{G\cdot z\cdot R_{prop}}{G\cdot z\cdot R_{prop}+x_1\cdot R_{prop}}-z dtdz=CGzRprop+x1RpropGzRpropz

代码如下:

C, a, b = 10, 1.25, 1.25
...
for n in range(1, len(times)):
    x1[n] = x1[n-1] + dt * (C*b*x2[n-1]/(b*x2[n-1] + y[n-1])-x1[n-1])
    y[n] = y[n-1] + dt * (C*a*y[n-1]/(a*y[n-1] + x1[n-1])-y[n-1])
    x2[n] = x2[n-1] + dt * (C*x1[n-1]/(x1[n-1] + z[n-1])-x2[n-1])
    z[n] = z[n-1] + dt * (C*a*z[n-1]/(a*z[n-1] + x1[n-1])-z[n-1])
    # 以下为递推式
    #x1[n] = C*b*x2[n-1]/(b*x2[n-1] + y[n-1])
    #y[n] = C*a*y[n-1]/(a*y[n-1] + x1[n-1])
    #x2[n] = C*x1[n-1]/(x1[n-1] + z[n-1])
    #z[n] = C*a*z[n-1]/(a*z[n-1] + x1[n-1])

以下是结果:
在这里插入图片描述

非常符合预期,若三级 SW 级联,SW 3 获得的 bw 将更小,由是推广,n 级 SW,每一级都对 probe 能力有削弱作用,在 n < m 时,flow 1 与 flow 2 分别在其 SW n 和 SW m 处将获得不公平的 bw 份额,若没有全局信息斧正,这境况将无可改变。

注意上图表头上有个 g2,它表示 flow 1 的 pacing gain,如果把 flow 1 的 g2 调高,它将获得更高的 bw,虽纯属扯淡,但这无疑给了经理们一个可以魔改的点,请慢用。

再看 aimd,设 C 为 SW 1,SW 2 处的总带宽,设 x₁ 为 flow 1 在 SW 1 获得的 bw,x₂ 为 flow 1 在 SW 2 获得的 bw,y,z 分别为 flow 2,flow 3 的 bw,w₁,wᵧ,wz 分别为 flow 1,flow 2,flow 3 的 cwnd,则:

d x 1 d t = C ⋅ w 1 + 1 w 1 + w y − x 1 \dfrac{dx_1}{dt}=C\cdot\dfrac{w_1+1}{w_1+w_y}-x_1 dtdx1=Cw1+wyw1+1x1

d y d t = C ⋅ w y + 1 w y + w 1 − y \dfrac{dy}{dt}=C\cdot\dfrac{w_y+1}{w_y+w_1}-y dtdy=Cwy+w1wy+1y

d x 2 d t = C ⋅ x 1 ⋅ r x 1 ⋅ r + z − x 2 \dfrac{dx_2}{dt}=C\cdot\dfrac{x_1\cdot r}{x_1\cdot r+z}-x_2 dtdx2=Cx1r+zx1rx2

d z d t = C ⋅ w z + 1 w z + x 1 ⋅ r − z \dfrac{dz}{dt}=C\cdot\dfrac{w_z+1}{w_z+x_1\cdot r}-z dtdz=Cwz+x1rwz+1z

r = C w z + x 1 ⋅ r r=\dfrac{C}{w_z+x_1\cdot r} r=wz+x1rC

d w 1 d t = d w y d t = d w z d t = 1 \dfrac{dw_1}{dt}=\dfrac{dw_y}{dt}=\dfrac{dw_z}{dt}=1 dtdw1=dtdwy=dtdwz=1

简单起见,不再单独处理 md,以下面的代码替代:

C, a, b = 10, 1, 0.5
...
for n in range(1, len(times)):
    w1[n] = w1[n-1] + a
    wy[n] = wy[n-1] + a
    wz[n] = wz[n-1] + a
    if n % 10 == 0:
        wz[n] *= b
    if (n + 2) % 10 == 0:
        w1[n] *= b
    if (n + 5) % 10 == 0:
        wy[n] *= b
    x1[n] = x1[n-1] + dt * (C*(w1[n-1] + 1)/(w1[n-1] + 1 + wy[n-1]) - x1[n-1])
    y[n] = y[n-1] + dt * (C*(wy[n-1] + 1)/(wy[n-1] + 1 + w1[n-1]) - y[n-1])
    x2[n] = x2[n-1] + dt * (C*(x1[n-1]*r[n-1])/(x1[n-1]*r[n-1] + z[n-1])-x2[n-1])
    z[n] = z[n-1] + dt * (C*(z[n-1] + 1)/(z[n-1] + 1 + x1[n-1]*r[n-1])-z[n-1])
    r[n] = C / (wz[n] + x1[n]*r[n])

以下是结果:
在这里插入图片描述

符合预期,SW 1 输出公平份额,但在 SW 2 处 additive increase 被削弱至 0,因为 SW 1 输出持续稳定的 1/2*C 的 bw,在 SW 2 处 additive increase 效应将不再可见,之所以上图中没有跌 0,全在 flow 3 的 multiplicative decrease,我把代码中的 md 判断去掉,甚至只是将 md 效应减弱,flow 1 的 bw 跌落就显而易见了:
在这里插入图片描述

parking lot topology 的问题其实是任意多跳拓扑共有的问题,parking lot topology 只是一个形象的名字。在多跳拓扑中,只有第一跳严格遵循端到端 cc 的动力学模型运作,而在多跳场景,第一跳的输出是第二跳的输入,而不是反馈回 sender,换句话说,sender 接不住它自己端到端算法的输出。

当第二跳以后的级联 SW 首尾相接,随每一跳算法动力学效应持续被削弱,buffer 动力学开始起主导作用,而当前 flow 并不了解其它 flow 在该处的端到端算法作用力,这意味着全局公平性的不可能,这应该就是端到端 cc 不符合预期的核心原因。

幸运的是,大多数拓扑都介于 parking lot topology 和 dumbbell topology 之间,端到端 cc 虽不完全有用,但它确实有用。

我们的端到端 cc 失效的原因应该应该归结为仿真环境和现网环境的差异,而端到端算法的信息精度缺陷只能放大这一差异导致的误差而不是缩小。关于这一点,sally floyd(贡献与 范雅各布森 齐名,但很多人不知道) 在 1997 年的论文 why we don’t know how to simulate the internet 里也提到过这个观点。

浙江温州皮鞋湿,下雨进水不会胖。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2045702.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

11.2.软件系统分析与设计-数据库分析与设计

文章目录 数据库分析与设计步骤ER图和关系模型 需求分析阶段概念结构设计逻辑结构设计物理结构设计数据库实施与运维 数据库分析与设计 数据库设计属于系统设计的范畴。通常把使用数据库系统的系统统称为数据库应用系统&#xff0c;把对数据库应用系统的设计简称为数据库设计。…

轻松拿捏自动添加好友

释放双手&#xff0c;一键导入数据&#xff01; 通过好友后可以自动备注 轻松自动添加好友&#xff0c;更可以个性化设置验证信息 手动点击“开始”&#xff0c;后台可以看到数据使用情况和添加情况&#xff0c;频繁了会自动停止

【STM32】ADC模拟数字转换(规则组多通道)+ DMA数据转运(外设到存储器)

本篇博客重点在于标准库函数的理解与使用&#xff0c;搭建一个框架便于快速开发 目录 前言 ADC规则组扫描模式DMA 定义变量 规则组配置 ADC初始化 连续模式 扫描模式 规则组通道个数 ADC初始化框架 DMA初始化 ADC和DMA使能 软件触发转运 代码框架 ADC扫描转换与DM…

一眼心动的HAProxy高级功能配置

目录 一.haproxy-基于cookie的会话保持 二.七层IP透传 三.四层IP透传 四.访问控制列表ACL 五.acl做动静分离访问控制 六.基于自定义的错误页面文件 七.HAProxy 四层负载 八.HAProxy https 实现 九.让文件编写更简单的方法 一.haproxy-基于cookie的会话保持 cookie va…

C语言程序设计(初识C语言后部分)

1024M1GB&#xff0c;1GB1级棒。关爱一级棒的程序员们&#xff0c;宠TA没商量&#xff01; 5&#xff09;函数的嵌套调用和链式访问 函数和函数之间可以根据实际的需求进行组合的&#xff0c;也就是相互调用的。 1.嵌套调用 函数可以嵌套调用&#xff0c;但不可以嵌套定义&a…

【网络】UDP和TCP之间的差别和回显服务器

文章目录 UDP 和 TCP 之间的差别有连接/无连接可靠传输/不可靠传输面向字节流/面向数据报全双工/半双工 UDP/TCP API 的使用UDP APIDatagramSocket构造方法方法 DatagramPacket构造方法方法 回显服务器&#xff08;Echo Server&#xff09;1. 接收请求2. 根据请求计算响应3. 将…

html+css+js网页制作 纳尔多珠宝40个页面

htmlcssjs网页制作 纳尔多珠宝40个页面 网页作品代码简单&#xff0c;可使用任意HTML编辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 获取源码 1&#…

用python制作88键赛博钢琴(能用鼠标键盘进行弹奏)

用python制作88键赛博钢琴 前言 恭喜这位博主终于想起了自己的账号密码&#xff01; 时光荏苒&#xff0c;转眼间已逾一年未曾在此留下墨香。尽管这一年间&#xff0c;博主投身于无尽的忙碌与挑战之中&#xff0c;但令人欣慰的是&#xff0c;那份初心与热情似乎并未因岁月的流…

谷歌浏览器网页底图设置为全黑

输入网址&#xff1a;chrome://flags/ 搜索dark&#xff0c;选择Enabled&#xff0c;重启浏览器即可

C#使用SharGL实现PUMA560机械臂

1、四轴机械臂 下载链接&#xff1a;https://download.csdn.net/download/panjinliang066333/89645225 关键代码 public void DrawRobot1(ref OpenGL gl,float[] angle,float[] yLength,bool isPuma560_Six){//坐标系说明&#xff1a;//①X轴正向&#xff1a;屏幕朝右//②Y轴…

【运维系列】windows虚拟机作为服务器,将服务启动作为脚本设置为开机自启,服务中断、手动操作的烦恼通通滚蛋!

文章目录 前言一、开机启动文件夹&#xff08;StartUp&#xff09;是否可行&#xff1f;二、任务计划程序1.编写脚本2.打开任务计划程序3.创建任务4.配置常规选项5.配置触发器选项6. 配置操作选项7.配置条件选项8.配置设置选项 总结 前言 在实际应用过程中&#xff0c;我们难免…

有没有电脑桌面监控软件|大佬都在用的7大电脑屏幕监控软件!

当谈到电脑桌面监控软件时&#xff0c;确实有许多受欢迎且功能强大的选项。 这些软件在企业管理、远程办公、家庭监控等多个领域都有广泛应用。 以下是大佬常用的7大电脑屏幕监控软件推荐&#xff1a; 1. Teramind 特点&#xff1a;它是一款功能强大的企业级监控软件&#x…

永久旋转 PDF 文件的 3 种简便方法

PDF 文件通常由扫描仪创建&#xff0c;用于呈现文档或书籍。当您输出 PDF 作品时&#xff0c;打开它&#xff0c;会发现有几页是颠倒的。 你应该做什么&#xff1f; 将这些页面倒置扫描&#xff0c;按顺序排列&#xff0c;最后创建正确的 PDF 文件&#xff1f; 当然&#xf…

<数据集>安全帽和安全背心识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;22141张 标注数量(xml文件个数)&#xff1a;22141 标注数量(txt文件个数)&#xff1a;22141 标注类别数&#xff1a;3 标注类别名称&#xff1a;[helmet, vest, head] 序号类别名称图片数框数1helmet15937572402v…

轻量级TinyDB数据库文件写入和增删改查操作

1. TinyDB 数据库简介 TinyDB 是一个轻量级的 NoSQL 文档型数据库&#xff0c;由 Python 实现&#xff0c;无需额外的配置&#xff0c;以 JSON 文件作为存储&#xff0c;默认使用文件系统来存储数据。 2. 安装基本库 pip install tinydb pip install Faker3. 数据库操作 im…

无线麦克风哪个品牌音质最好,口碑最好的麦克风品牌推荐

​随着个人媒体和视频内容的普及&#xff0c;每个人都有机会成为内容的创作者。在这样的趋势下&#xff0c;拥有一个好的录音设备就显得尤为重要。无线领夹麦克风正好满足了这种需要&#xff0c;它不仅能够提供清晰、稳定的音质&#xff0c;还能使内容创作更具有专业性和观赏性…

基于个性化定制的智慧校园管理系统设计与开发

TOC springboot296基于个性化定制的智慧校园管理系统设计与开发 第1章 绪论 1.1 课题背景 二十一世纪互联网的出现&#xff0c;改变了几千年以来人们的生活&#xff0c;不仅仅是生活物资的丰富&#xff0c;还有精神层次的丰富。在互联网诞生之前&#xff0c;地域位置往往是…

C语言常用的内存函数

在上一篇博客中我为大家分享了一些常用的字符串函数&#xff0c;以及它们的用法和模拟实现。通过字符串函数中的strcpy&#xff0c;我们能够做到将一个字符串中的内容拷贝到另一个字符串上&#xff0c;可如果有一天我们想把一个整型数组中的内容拷贝到另一个整型数组中呢&#…

大模型混合云,到了系统性创新突围的关键时刻

文 | 智能相对论 作者 | 陈泊丞 亚马逊与Anthropic、微软与OpenAI以及华为云提出的大模型混合云概念等等种种信号都在表明&#xff0c;云计算与大模型深度融合发展的趋势已是业内共识。 目前&#xff0c;以生成式AI为导向&#xff0c;越来越多的公司开始加速大模型技术在云计…

够豪横,310万不要了,后续损失恐上千万

近日&#xff0c;深圳一套法拍房引起了整个圈子的轰动&#xff01; 20年前花费382万购入的豪宅&#xff0c;现在竟能拍到8389万&#xff0c;翻了22倍&#xff01; 就在大家都感慨深圳顶豪的购买力惊人时&#xff0c;事情却迎来了更大的反转&#xff01; 该豪宅竟重现法拍市场…