拥塞控制的微观行为与力学解释

本文以 tcptrace 图为基,描述传输的微观行为,并给出一个初中几何描述的压水井模型。

统计复用网络的拥塞控制,宏观看 inflight,微观看 pacing rate,宏观大方向不对,微观再正确也不行。

而网络的统计动力学事实上就是 buffer 动力学,详情参见 边际效益递减与 buffer 和 buffer 越大越低效。

在这里插入图片描述

如左图所示,如果按照 delivery rate 设置 pacing rate,则会引发木桶效应,接下来的 delivery rate 充其量不变,大概率只会越来越小,即使有空闲带宽腾出也无法抓住,ack 流也会过早闭合而引发类似糊涂窗口综合症那般的细流:
在这里插入图片描述

所以 bbr 才需要周期性 probe,取 bw window 内的 maxbw 作为 pacing rate,为防止 maxbw 颠簸,还要确保在 bw window 内至少进行一次 probe,这就是 bbr 采用大开合的根本原因,否则 bbr 要么保不住带宽,要么跑飞。

大开合的问题前面已经描述过,详见 bbr 是真的不行,所以需要引入 probertt 和 cwnd_gain 来约束 inflight。cwnd_gain = 2 约束了 bbr 流的最大 inflight 不超过 maxbw*minrtt 的 2 倍。如此,buffer 挤占才不会无限疯长。

看到了吧,bbr 实际是通过引入很多约束来避免大开合潜在的正反馈。如果把 probe 操作多出来的 1/4 bdp 均匀分散在整个传输过程,控制总 inflight,并始终用 4/5 pacing gain 做 pacing,一切就省了。

先看与 pacing rate = delivery rate 相比,bbr 改变了什么:
在这里插入图片描述

bbr 逆转个视角,将 probe 流量分摊到整个传输过程,始终以 > 1(比如 5/4) 的 pacing gain 发送,为抑制因此而引发的 buffer 侵占制造的严重拥塞,算法转而控制 inflight 而不是 pacing rate:

  • 拥塞避免方面,保持 optimal_bw*minrtt(注意不是 maxbw) 为 inflight 主体以及极小量且负反馈收敛的的 buffer 队列,避免拥塞;
  • 带宽利用率方面,微小队列始终保持 100% 利用率;
  • 公平性方面,所有流量对 E_best = max(bw / delay) 的共识,bw 达到 optimal_bw 适可而止,向局部最优收敛达到全局最优;
  • 自适应带宽变化方面,微小队列保持对带宽变化的感知力。

整体就是用大 pacing rate 保 optimal_bw:
在这里插入图片描述

统计的东西要用统计的方式玩,端到端拥塞控制,必须确认哪些度量是确定的,哪些是不确定的,所有度量中,能大致确定的只有 rtt 和 delivery rate,因此只能信任它们本身以及它们的简单运算量,所有其它量都不能信任,不是调参难度很大,而是瞎搞。

pacing rate 根本控制不住,能控制的只有 inflight。

接下来在 tcptrace 图中展示 E_best = max(bw / delay) 共识及其几何和力学意义:
在这里插入图片描述

这很像农村的那种压水井,它的操作就是向上拉把手,拉到一定高度后往下压,即可出水,但它不想打气筒,因为打气筒是你拉的越高,充气量越多,压水井却受水压限制,如果把手可以拉无限高,拉得越高,相比出水量而言越不划算(拉高把手所费的力气相比出水量而言)。

能够挤压的任何流体都符合这个模型,包括钞票存贷。模型的操作图示如下:
在这里插入图片描述
代数式上,设总带宽为 a,buffer 已用量为 b,问题 4 等价于求 E = a * x / (x + b)^2,物理意义就是 “挤压带宽的边际效益”,也就是 “单位 buffer 的收益”,显然它是一个上凸曲线。

在力学解释上,一开始出大力压杠杠的收益相对于 b 的固有势能收益而言是非常明显的,一旦出大力开始超过固有势能的做功就反转了,倒着看,固有势能做功每减少一点,其损失的收益将减速减少。这背后是向最稳定趋向的趋势,也就是最小作用量原理。

只可惜包括 bbr 在内的几乎所有拥塞控制算法都没能利用这个共识。vegas 稍微沾边儿时就被喷了,几乎所有拥塞控制方案都试图在微观层面控制统计特征,而我揭穿一些事实也不在乎有人白嫖,因为我这些是拥塞控制的核心本质但并不关注单流吞吐,不添堵,我这些和众人的目标并不一致,人们更感兴趣的是把乘法降窗改成减法降窗,把参数调激进,见缝加塞,而这些都是在行业保身立命的根本,可不敢随意给别人看。

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Iphone自动化指令每隔固定天数打开闹钟关闭闹钟(二)

1.首先在搜索和操作里搜索“查找日期日程" 1.1.然后过滤条件开始日期选择”是今天“ 1.2.增加过滤条件,日历是这里选择”工作“ 1.3.增加过滤条件,选择标题,是这里选择”workDay“ 1.4选中限制,日历日程只要一个,…

5.4 Go 匿名函数与闭包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

数据结构(一)顺序表

目录 一、概念(一)数据结构的三元素1. 逻辑结构(1)线性结构(2)非线性结构 2. 存储结构(1)顺序存储(2)链式存储(3)索引存储 3. 运算 &a…

11.RedHat认证-Linux文件系统(中)

11.RedHat认证-Linux文件系统(中) Linux的文件系统 格式化分区(1道题) #对于Linux分区来说,只有格式化之后才能使用,不格式化是无法使用的。 #Linux分区格式化之后就会变成文件系统,格式化的过程相当于对分区做了一个文件系统。 #Linux常见…

一个月速刷leetcodeHOT100 day13 二叉树结构 以及相关简单题

树是一种分层数据的抽象模型 二叉树 二叉树中的节点最多只能有两个子节点,一个是左侧子节点,另一个是右侧子节点 二叉搜索树 二叉搜索树(BST)是二叉树的一种,但是只允许你在左侧节点存储(比父节点&…

LVM、磁盘配额

LVM与磁盘配额 一、LVM LVM(逻辑卷管理):是Linux系统下对硬盘分区的管理机制。 LVM机制适合于管理管理大存储设备。可以动态对硬盘进行扩容。 逻辑上的磁盘,概念上的磁盘,文件系统创建之后不考虑底层的物理磁盘。 若干个磁盘分区或者物理…

51 html网页

上节内容的网页是hello world的字符串,但实际上网页应该是html格式的这种超文本标记语言,这一节完善一下网页的各种格式和内容 分文件 实际服务器中,网页的界面应该单独放一个文件,服务器从文件里读取网页的内容 先创建一个wroo…

PLC集成BL121PO网关优化智能电网的远程管理PLC转OPC UA协议

随着工业自动化技术的不断发展,智能电网等复杂系统对于设备之间高效通信的需求日益增加。PLC转OPC UA协议转换网关BL121PO作为一款领先的协议转换设备,通过其独特的设计和功能,为用户提供了高效、安全的PLC接入OPC UA的解决方案。 设备概述 …

R语言入门 | 使用 dplyr 进行数据转换

3.1简介 3.1.1准备工作 3.1.2 dplyr 基础 • 按值筛选观测( filter() )。 • 对行进行重新排序( arrange() )。 • 按名称选取变量( select() )。 • 使用现有变量的函数创建新变量( …

STM32实验之USART串口发送+接受数据(二进制/HEX/文本)

涉及三个实验: 1.USART串口发送和接收数据 我们使用的是将串口封装成为一个Serial.c模块.其中包含了 void Serial_Init(void);//串口初始化 void Serial_SendByte(uint8_t Byte);//串口发送一个字节 void Serial_SendArray(uint8_t *Array,uint16_t Length);//…

Vue3项目练习详细步骤(第三部分:文章分类页面模块)

文章分类列表 主体结构 接口文档 文章分类列表查询接口数据绑定 Pinia状态管理库 axios请求拦截器 Pinia持久化插件-persist 未登录统一处理 添加文章分类 主体结构 接口文档 绑定请求数据 编辑文章分类 弹框结构 数据回显 接口文档 绑定请求数据 删除分类 …

WAF几种代理模式详解

WAF简介 WAF的具体作用就是检测web应用中特定的应用,针对web应用的漏洞进行安全防护,阻止如SQL注入,XSS,跨脚本网站攻击等 正向代理 WAF和客户端与网络资源服务器都建立连接,但是WAF 的工作口具有自己的 IP 地址&…

【408真题】2009-28

“接”是针对题目进行必要的分析,比较简略; “化”是对题目中所涉及到的知识点进行详细解释; “发”是对此题型的解题套路总结,并结合历年真题或者典型例题进行运用。 涉及到的知识全部来源于王道各科教材(2025版&…

智慧排水监测系统方案

智慧排水监测系统方案 智慧排水监测系统作为现代城市基础设施管理的重要组成部分,旨在通过先进的信息技术手段,实现对城市排水系统的全面、实时、高效的远程监控与管理。该系统整合了物联网技术、大数据分析、云计算平台与人工智能算法,不仅…

国产操作系统上apt命令详解 _ 统信 _ 麒麟 _ 中科方德

原文链接:国产操作系统上apt命令详解 | 统信 | 麒麟 | 中科方德 Hello,大家好啊!今天给大家带来一篇在国产操作系统上使用apt命令的详解文章。apt(Advanced Package Tool)是Debian及其衍生发行版(如统信UOS…

Adobe Camera Raw 11 for Mac/win:摄影后期处理的革命性飞跃

在数字摄影的世界里,RAW格式以其未压缩的原始数据特性,为摄影师提供了更大的后期处理空间。而Adobe Camera Raw 11,作为这一领域的翘楚,以其卓越的性能和创新的功能,为摄影师们带来了前所未有的创作体验。 Adobe Came…

深度学习(一)

深度学习(一) 一、实验目的 掌握前馈全连接神经网络,具体包括: (1) 前馈全连接神经网络的网络结构 (2) 前馈神全连接经网络的工作原理 (3) 前馈全连接神经网络的代码实现 二、实验内容 1. 导入常用工具包 2. 数据导入与数据…

国内加密软件排行榜,每一款加密软件都是精品

在数字化快速发展的今天,数据安全和隐私保护已成为企业和个人关注的焦点。加密软件作为保护数据安全的重要手段,其重要性日益凸显。以下是根据权威机构的评测和用户反馈,整理的国内加密软件排行榜及其特点概述。 1、加密软件安企神免费试用7天…

计算机系统基础实验三(解了但尽量理解)

一.准备阶段 1、下载好32位的实验代码后,将文件解压缩并且通过共享文件夹操作将文件添加到虚拟机中,双击查看bomb.c代码,将c代码完整看了一遍,发现看这里的c代码是无从下手的,代码中只含有主函数,触发炸弹…

前缀和(下)

目录 热身: 寻找数组的中心下标 题解: 代码: 进阶: 除自身之外数组的乘积 题解: 代码: 和为K的子数组 题解: 代码: 和可被 K 整除的子数组 题解: 同余定理…