反馈时延与端到端拥塞控制

news2024/11/25 14:52:23

先从 越来越无效的拥塞控制 获得一个直感。
开局一张图,剩下全靠编。这是一道习题:
在这里插入图片描述

这图来自《高性能通信网络(第二版)》,2002 年的书,很好很高尚,目前这种书不多了。不准备做这道题,但意思要明白,时延越大越不同,系统越震荡,甚至跑飞不稳定,这个道理也可以从相轨迹看出。首先,先看经典的 aimd 收敛图是如何获得的。

aimd 系统的微分方程如下:

d W d t = ( 1 − p ) ∗ a W − p ∗ b ∗ W \dfrac{dW}{dt}=(1-p)*\dfrac{a}{W}-p*b*W dtdW=(1p)WapbW

系统会稳定在 ( 1 − p ) ∗ a W = p ∗ b ∗ W (1-p)*\dfrac{a}{W}=p*b*W (1p)Wa=pbW 处,p 由 buffer 决定,解得 W 为一定值,相平面空间如下:
在这里插入图片描述

然而若引入一个时滞,即 W ( t ) W(t) W(t)代换为 W ( t − τ ) W(t-\tau) W(tτ),相轨迹就没有这么简单了,大概的意思会变成下面这样:
在这里插入图片描述

没有时延时,系统的稳定性由 df(x,t)/dt 的符号决定,引入时延后,平衡点的稳定性分析变得更为复杂,需要考虑时延对 f(x,t) 的影响。

时延会导致系统响应滞后。这意味着系统在给定输入的情况下,响应的速度会减慢或产生振荡,这种效应在非线性系统和复杂系统中尤为显著,直接命中网络传输。

简单通俗来讲,rtt 过大时,当 sender 接收到拥塞信号时,拥塞可能已经解除或已经进入第 n 次完全不同的拥塞状态,亦或相反,拥塞状态已经病入膏肓,信号仍未到达 sender,导致持续注入流量加剧拥塞,崩溃是可能的,虽能恢复,但恢复期受震荡周期影响,而震荡周期一般又与反馈时延正相关。

稍微正式一点说,反馈时延过大对控制系统的影响主要体现在系统的稳定性和性能上,基于微分方程分析相轨迹还是太复杂,正规方式是基于系统传递函数分析(涉及拉普拉斯变换)。

控制系统中,传递函数描述输入信号和输出信号之间关系。当反馈时延存在时,系统传递函数会受到影响。假设无时延时系统的传递函数为 G(s),有时延后的传递函数 G_d(s) 可表示为:

G d ( s ) = G ( s ) e − τ s G_d(s) = G(s)e^{-\tau s} Gd(s)=G(s)eτs

这里的 e^{-\tau s} 改变了系统的频率响应和相位特性,影响了系统的稳定性和响应速度。时延会在所有频率上引入一个线性相位滞后,同时,增益曲线也会在高频段出现衰减。

时延的存在还会使根轨迹发生变化,可能导致闭环极点向复平面的不稳定区域移动,从而影响系统的稳定性。

反馈时延还直接影响系统的动态响应,包括上升时间和调整时间。时延越大,系统的响应越慢,动态性能恶化,对干扰和噪声的敏感度增加,这在实时控制和需要快速响应的应用场景中尤其重要。

一个小小的反馈时延,一下子就将一个准线性系统或准一阶,二阶线性系统变成了非线性复杂系统,加上一个时滞就让你无法再用分离变量等方法处理微分方程,更无法在相平面空间施展拳脚(我自信善于此),从而不得不上传递函数工具,陷入更复杂的数学分析。

我为什么总是反对端到端精确测量,背后就是这个。我强调快速收敛规则而不是精确测量,重点在快速,以确保不会拥塞崩溃,或崩溃后尽快恢复。因此,我在 inflight 守恒算法中强调只保持 “一点点” 对 buffer 的占用,以获得动态性和感知敏感性,我并不觉得过度侵占资源可以获得更高性能或资源利用率,因为整体来看,这种方法代价巨大,即遍从自私的视角来看也是如此,越过 E_best 后,事实上你已经没有收益了。相反,E_best 本身就决定了 buffer 不会占太多。

反思我昨天的 PID 加持 inflight 守恒算法,依然没有占据过多 buffer,但我在 “快速响应” 方面冒了险,还好 PID 还有调参的艺术,效果如何,试试看咯。

进一步反思 aimd,长肥管道 cwnd 恢复慢,大概就是本文所论述的内秉属性,如果想快速恢复,势必会被另一种代价击中另一个软肋。

so aimd-based?大致都是一回事,bbr 就算了,最终它也还是叶落归根。

最后,转发个有趣的:中国移动完成全球最长距离数据快递广域高吞吐技术验证。

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

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

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

相关文章

Redis学习|Redis基础知识、Redis五大数据类型、Redis三种特殊数据类型、Redis事务

Redis基础知识 redis默认有16个数据库,并且这个数量可以在conf配置文件中更改 默认使用的是第0个 可以使用 select 进行切换数据库! key *查看数据库所有的key 清除当前数据库 flushdb 清除全部数据库的内容FLUSHALL 为什么redis是6379!(了解一下即可!) Redis 是…

关于笔记本电脑连接电源时触摸板失灵、卡顿、乱飘的问题

目录 前言 问题原因 解决方法 前言 我查阅了相关的资料和方法如下(很感谢这位楼主大佬提供的问题所在): 问题原因 解决方法 那么解决方法无非就是几种(方法仅供参考,不排除一些危险性): 1…

微信公众号 H5授权登录实现(最详细)

一、微信公众号 (一)基础信息 微信授权类型 自己的网站、APP等第三方,要实现接入微信授权登录,有多种方式:微信公众号(网页)、微信小程序、微信开放平台(APP)等等。 【…

什么是标准差和方差

标准差是用于衡量数字是如何分布的指标。用σ (sigma)表示。 标准差方差的平方根。 什么是方差 方差就是与均值的平方差的平均值。方差的计算过程: 计算平均值(mean)用μ /读mu/表示。用每一个数减去平均值&#xf…

Java基础的重点知识-04-封装

文章目录 面向对象思想封装 面向对象思想 在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。 面向对象思想的三大基本特征: 封装、继承、多态 1.类和对象 类是对象的抽象&#xff…

FreeCAD中类型机制研究

了解FreeCAD类型机制实现原理,为后续FreeCAD相关工作提供参考。 1.实现原理 FreeCAD系统提供一个最上层的基类BaseClass,该类主要处理类型相关工作,几乎所有的FreeCAD的类直接或间接继承于该类。该类只有唯一个属性Type,Type里面…

如何提升外链网站的收录率?

要提高外链网站的收录率,要明确的一点是,被收录的外链才能发挥最大的作用,因此,提升收录率是首要任务。一个有效的方法是使用GPC爬虫池,这样可以大幅度提高谷歌蜘蛛对众多外链网站页面的抓取频率 通过GPC爬虫池的引导…

OpenSSL命令手册

正文共:999 字 10 图,预估阅读时间:1 分钟 我们前面编译安装了OpenSSL命令工具(CentOS编译安装OpenSSL 3.3.1),这是一个强大的安全套接字层密码库,可以用于实现各种加密和认证协议,如…

福州大学 2022~2023 学年第 1 学期考试 A 卷压轴题参考答案

题目: 定义一个抽象类Structure(含有纯虚函数type函数,用以显示当前结构的类型; 含有show函数), 在此基础上派生出Building类, 用来存储一座楼房的层数、房间数以及它的总平方米数。 建立派生 类House&am…

QML 实现上浮后消失的提示框

基本效果:上浮逐渐显示,短暂停留后上浮逐渐消失 为了能同时显示多个提示框,一是需要动态创建每个弹框 Item,二是弹出位置问题,如果是底部为基准位置就把已经弹出的往上移动。 效果展示: 主要实现代码&…

路由模式--哈希模式下使用a标签跳转会有问题

路由模式分为 history 和 hash 两种模式&#xff0c;在 hash 模式下&#xff0c;使用 a 标签去跳转路由&#xff0c;可能会有问题。 比如&#xff1a; <a href"/home"><img src"/logo.png" class"logo" /></a> 在跳转路由时…

机器学习数学原理专题——线性分类模型:损失函数推导新视角——交叉熵

目录 二、从回归到线性分类模型&#xff1a;分类 3.分类模型损失函数推导——极大似然估计法 &#xff08;1&#xff09;二分类损失函数——极大似然估计 &#xff08;2&#xff09;多分类损失函数——极大似然估计 4.模型损失函数推导新视角——交叉熵 &#xff08;1&#x…

Java | Leetcode Java题解之第174题地下城游戏

题目&#xff1a; 题解&#xff1a; class Solution {public int calculateMinimumHP(int[][] dungeon) {int n dungeon.length, m dungeon[0].length;int[][] dp new int[n 1][m 1];for (int i 0; i < n; i) {Arrays.fill(dp[i], Integer.MAX_VALUE);}dp[n][m - 1] …

C语言入门系列:初识函数

文章目录 一&#xff0c;C语言函数与数学函数的区别1&#xff0c;回忆杀-初中数学2&#xff0c;C语言中的函数 二&#xff0c; 函数的声明1&#xff0c;函数头1.1&#xff0c;函数名称1.2&#xff0c;返回值类型1.3&#xff0c;参数列表 2&#xff0c;函数体2.1&#xff0c;函数…

idea右侧找不到Maven,在View-> Tool Windows下也找不到

正常情况Idea右侧没有Maven&#xff0c;只需去View -> Tool Windows 目录中找到Maven并点击Maven&#xff0c;Idea右侧就会出现 问题&#xff1a; idea右侧找不到Maven&#xff0c;在View -> Tool Windows 目录中也找不到Maven&#xff0c;下图 全局搜索ctrl N&#xff…

数据结构历年考研真题对应知识点(栈和队列的应用)

目录 3.3栈和队列的应用 3.3.2栈在表达式求值中的应用 【中缀表达式转后缀表达式的过程(2012、2014)】 【栈的深度分析(2009、2012)】 【用栈实现表达式求值的分析(2018)】 3.3.3栈在递归中的应用 【栈在函数调用中的作用和工作原理(2015、2017)】 3.3.5队列在计算机系…

苹果智能和人工智能最大化

苹果智能和人工智能最大化 除了苹果公司&#xff0c;还没有人真正使用过苹果的智能功能。它要到秋天才会分阶段发布&#xff0c;即使到那时&#xff0c;它也无法在80%或90%的iPhone安装基础上运行&#xff0c;因为它需要只有iPhone 15 Pro才能使用的设备上处理功能。没有什么能…

如何从magento1迁移到magento2

m2相较m1 变化可以说非常大&#xff0c;相当于从头到位都改写一遍&#xff0c;更现代化&#xff0c;更优雅。除了数据库表变化不是很大。 主要迁移的内容有&#xff1a; 1&#xff0c;主题 2&#xff0c;插件(自己开发的或者第三方插件) 3&#xff0c;数据库 主题 不能迁移到m…

如何在Windows 11和10上清除更新缓存?这里提供了几种方法

​Windows 11和Windows 10都可以非常轻松地清除Windows更新缓存。可以使用图形方法或命令行选项删除保存的更新文件。我们将向你展示你的可用选项。 为什么要清除Windows更新缓存 你可能希望清除Windows更新缓存的原因有很多。 你可能在查找或安装更新时遇到问题,清除缓存通…

如何恢复丢失的文件?免费为 Mac 恢复数据

丢失 Mac 上的重要文件是一件非常痛苦的事情。无论是重要的工作文件、重要文件还是心爱的照片&#xff0c;意外删除它们或出现系统错误都会非常令人沮丧。别担心&#xff1b;有办法&#xff1a;奇客数据恢复Mac版。这款免费的 Mac 文件恢复软件就像您文件的救星 - 当出现问题时…