一个 buffer 使用的负反馈实例
端到端拥塞控制其实就是负反馈的实施。典型的做法是识别到一系列标志性事件,比如丢包,时延增加等,然后对这些事件做反应,进而形成负反馈,但 inflight 守恒是一种完全不同的做法,它将负反馈平铺到了整个传输过程,并不识别任何特殊事件。
本文回过头来描述一个典型做法的系统,即传统的 “事件-反应” 系统。
设 r(t) 为 buffer 使用情况,q(t) 为网络流量,q 持续占用 buffer,但当 buffer 占用过大时,q 会主动收缩,注意,这里 “当 buffer 占用过大” 就是算法需要识别的事件。
整个系统的描述如下:
$ \frac{dr}{dt} = \alpha*q-R$
d q d t = − β ∗ r + γ ( Q − q ) \dfrac{dq}{dt}=-\beta*r+\gamma(Q-q) dtdq=−β∗r+γ(Q−q)
其中 R,Q 为常数,alpha,beta,gamma 为参数。
系统动力学如下:
- q 越大,r 用量越大,当 r 用量越大,-beta * r 越小,Q - q 越小,q 收缩;
- q 收缩,alpha * q 越小,r 收缩,反向激励 q 扩张,如此反复。
以 a 为 alpha = 1.9,c 为 beta = 2.5,d 为 gamma = 0.48,R = 5,Q = 10,模拟如下:

有点收敛了,不太美观,调参是个技术活,但也不狠,看下图说话,参数在图的最上面,多了一丢丢 0.02:

资源和消费相错开。一缕月光照当头,上下光而相凑,鸡屎也不流,用手殴,净肉球。
浙江温州皮鞋湿,下雨进水不会胖。
相关文章:
一个 buffer 使用的负反馈实例
端到端拥塞控制其实就是负反馈的实施。典型的做法是识别到一系列标志性事件,比如丢包,时延增加等,然后对这些事件做反应,进而形成负反馈,但 inflight 守恒是一种完全不同的做法,它将负反馈平铺到了整个传输…...
小程序简单版录音机
先来看看效果 结构 先来看看页面结构 <!-- wxml --><view class"wx-container"><view id"title">录音机</view><view id"time">{{hours}}:{{minute}}:{{second}}</view><view class"btngroup"…...
苹果手机微信如何直接打印文件
在快节奏的工作和生活中,打印文件的需求无处不在。但你是否曾经遇到过这样的困扰:打印店价格高昂,让你望而却步?今天,我要给大家介绍一款神奇的微信小程序——琢贝云打印,让你的苹果手机微信直接变身移动打…...
51.线程池大小
问题 1.线程池太小会导致程序不能充分利用系统资源、容易导致饥饿。 2.线程池过大导致更多的线程上下文切换,占用更多的内存。 情况一:CPU密集型运算 应用程序是做一些数据分析,需要大量的使用cpu,程序代码全部都是跟cpu相关的࿰…...
Python | 开房门(map)
常把map称之为映射,就是将一个元素(通常称之为key键)与一个相对应的值(通常称之为value)关联起来 通常用**字典dict**实现了映射这种数据结构 字典也是使用{}来包裹(set也是{}),每…...
MATLAB 函数 function
函数定义函数调用局部函数匿名函数函数句柄子函数函数文件的位置函数的文档函数的参数函数的返回值总结 在 MATLAB中,函数是一个执行特定任务的代码块,可以被重复调用。 MATLAB函数可以执行计算、数据操作、文件处理等任务,并且可以接收输入…...
基于阿里云服务网格流量泳道的全链路流量管理(三):无侵入式的宽松模式泳道
作者:尹航 在前文《基于阿里云服务网格流量泳道的全链路流量管理(一):严格模式流量泳道》、《基于阿里云服务网格流量泳道的全链路流量管理(二):宽松模式流量泳道》中,我们介绍了流…...
9行超强代码用Python工具快速获取放假日期
9行超强代码用Python工具快速获取放假日期 在很多场景下,我们需要获知国内具体的节假日安排情况,而国内每一年具体的放假安排以及调休情况,都依赖于国务院发布的具体公告,如果不想自己手动整理相关数据的话,我们可以用Python来快速获取最新的放假日期. 可以通过调用公开的 API…...
Elastic Search(ES)Java 入门实操(2)搜索代码
上篇解释了 ES 的基本概念和分词器。Elastic Search (ES)Java 入门实操(1)下载安装、概念-CSDN博客 Elastic Search(ES)Java 入门实操(3)数据同步-CSDN博客 这篇主要演示 Java 整合…...
Hudi Spark Sql Procedures 回滚 Hudi 表数据
前言 因为有 Hudi Rollback 的需求,所以单独总结 Hudi Spark Sql Procedures Rollback。 版本 Hudi 0.13.0(发现有bug)、(然后升级)0.14.1Spark 3.2.3Procedures 官方文档:https://hudi.apache.org/docs/procedures 相关阅读:Hudi Spark SQL Call Procedures学习总结…...
【重学C语言】十九、SDL2 图形化编程的使用
【重学C语言】十九、SDL2 图形化编程的使用 SDL2 的第一个程序渲染器纹理渲染1. 纹理的概念2. 加载纹理3. 渲染纹理4. 纹理设置和查询5. 纹理渲染流程6. 注意事项SDL2_imageSDL2 的第一个程序 #define SDL_MAIN_HANDLED #include <SDL.h>int main(int argc, char* argv[…...
什么是电风扇行情?
“电风扇行情” 是一个金融术语,用于描述证券市场中价格上下波动频繁、幅度较大,但总体趋势不明显的市场状况。 其名称来源于电风扇的扇叶在旋转时,风向不断变化的特征,形象地比喻了市场价格频繁变动但没有明确方向的情景。 …...
pytho入门教程
文章目录 随机数据生成的方式list操作方式数据操作方式处理缺失数据数据框操作方式画图的方式 随机数据生成的方式 # 随机生成数据的方式 # 1. 随机生成10-20之间的浮点数 holdForce random.uniform(10,20) # print(holdForce)# 2.for循环输出50个数据的方式 # for i in rang…...
Elasticsearch:ES|QL 查询 TypeScript 类型(二)
在我之前的文章 “Elasticsearch:ES|QL 查询 TypeScript 类型(一)”,我们讲述了如何在 Nodejs 里对 ES|QL 进行查询。在今天的文章中,我们来使用一个完整的例子来进行详细描述。更多有关如何使用 Nodejs 来访问 Elasti…...
元音 (音标) 和元音字母的区别
元音 [音标] 和元音字母的区别 1. 音位 (phoneme)1.1. Correspondence between letters and phonemes 2. 元音 (vowel)3. 辅音 (consonant)3.1. Consonant sounds and consonant letters 4. 元音字母 (vowel letter)References 1. 音位 (phoneme) https://en.wikipedia.org/wi…...
SMS - 基于阿里云实现手机短信验证码登录(无需备案,非测试)
目录 SMS 环境调试 从阿里云云市场中购买第三方短信服务 调试短信验证码功能 实战开发 封装组件 对外接口 调用演示 SMS 环境调试 从阿里云云市场中购买第三方短信服务 a)进入阿里云首页,然后从云市场中找到 “短信” (一定要从 云…...
使用Python编写Ping监测程序
Ping是一种常用的网络诊断工具,它可以测试两台计算机之间的连通性; 如果您需要监测某个IP地址的连通情况,可以使用Python编写一个Ping监测程序; 本文将介绍如何使用Python编写Ping监测程序 首先,需要导入os、sys、t…...
iptables常用命令总结
1.iptables 是什么 在Linux中,iptables就是一款强大而灵活的防火墙工具,它为系统管理员提供了广泛的配置选项,可以有效地控制数据包的流动,实现网络访问的控制及安全性增强。 iptables 使用三个不同的链来允许或阻止流量&#x…...
spring 自定义注解实现
实现自定义注解,通常会结合AOP(面向切面编程)来创建一个自定义的行为。 下面创建一个名为MyCustomAnnotation的自定义注解,并使用AOP编写一个切面来处理这个注解。 1. 创建自定义注解: import java.lang.annotation…...
10.dockerfile自动构建镜像
dockerfile自动构建镜像 类似ansible剧本,大小几kb 手动做镜像:大小几百M 首先创建一个dockerfile的路径,便于在路径下存在多个路径每个路径下都是dockerfile命名的脚本 注释:文件必须为:dockerfile或者Dockerfile …...
系统提示msvcp140.dll丢失vcruntime140.dll丢失msvcr100.dll丢失mfc140u.dll丢失 怎么办?其他DLL错误修复
游戏文件打不开?DLL文件缺失?电脑崩溃?DirectX 轻松修复!游戏运行库修复文件缺失软件必备安装工具, 这个DirectX 运行库修复工具,一键完成dll缺失修复、解决99.99%程序故障、闪退、卡顿等常见问题,轻松解决…...
新手避坑指南:用MATLAB复现TI IWR1443雷达的距离与速度FFT处理(附完整代码)
新手避坑指南:用MATLAB复现TI IWR1443雷达的距离与速度FFT处理(附完整代码) 第一次拿到IWR1443毫米波雷达开发板时,看着官方文档里密密麻麻的英文术语和零散的代码片段,我对着电脑屏幕发呆了整整半小时。作为电子工程专…...
Python将Parquet文件转换为JSONL格式文件
prompt:如何使用 Python 将 Parquet 文件转换为 JSONL 格式文件? 请提供完整的代码示例,包括使用 pandas 或 pyarrow 读取 Parquet 文件, 并将每行数据以 JSON 格式逐行写入 JSONL 文件的实现方式。 假设 Parquet 文件包含结构化数据…...
旧Mac重生指南:用OpenCore Legacy Patcher解锁macOS新版本
旧Mac重生指南:用OpenCore Legacy Patcher解锁macOS新版本 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否有一台性能依然强劲却被苹果官方抛弃的旧Mac&…...
大语言模型训练中的显存占用与优化方法简述
在进行大语言模型(LLM)的微调或预训练时,显存(VRAM)不足通常是首要面临的问题。为了在有限的硬件资源下完成训练,了解显存的具体去向以及相应的优化技术是比较基础的工作。 从模型训练的流程来看ÿ…...
LFM2.5-1.2B-Thinking部署教程:3步实现Python爬虫数据智能处理
LFM2.5-1.2B-Thinking部署教程:3步实现Python爬虫数据智能处理 1. 引言 你是不是经常遇到这样的问题:爬虫抓取了一大堆数据,但面对杂乱无章的文本内容却无从下手?手动整理不仅耗时耗力,还容易出错。现在,…...
Phi-4-Reasoning-VisionGPU算力:双卡4090推理吞吐达12 token/s实测
Phi-4-Reasoning-VisionGPU算力:双卡4090推理吞吐达12 token/s实测 1. 项目概述 Phi-4-Reasoning-Vision是一款基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具。该工具专为双卡RTX 4090环境优化,通过精心设计的架构和优化策略&a…...
深入解析影像显示驱动:MIPI与I2C的协同设计与应用
1. MIPI与I2C:影像显示驱动的黄金搭档 第一次拆开手机屏幕排线时,我看到两条截然不同的线路——细如发丝的MIPI差分对和普通的I2C双绞线。这就像发现城市地下的两套管网系统:MIPI是高压供水主管道,每秒输送数GB的图像数据…...
【SpringBoot 】dynamic 动态数据源配置连接池(转)
前言 在复杂的业务场景中,我们经常需要使用多数据源来满足不同的数据访问需求。Dynamic Datasource 为我们提供了一种灵活切换不同数据源的解决方案。但是多数据源配置连接池 以及说明文档都是收费的。 本篇博文将详细介绍如何配置和优化 Dynamic Datasource 的连接…...
Blazor组件测试工具:BootstrapBlazor测试库完整指南
Blazor组件测试工具:BootstrapBlazor测试库完整指南 【免费下载链接】BootstrapBlazor 项目地址: https://gitcode.com/gh_mirrors/bo/BootstrapBlazor BootstrapBlazor测试库是企业级Blazor UI组件库的质量保障体系,提供了一套完整的组件测试解…...
