谈谈越来越无效的拥塞控制

简单看一个图:
在这里插入图片描述

它不是互联网本身,但这是典型网络的必要组件,它决定了 flow 如何从从一边流向另一边:一条 flow 经过交换节点通过 NIC 被导入一条链路前在 buffer 中排队。

现如今大多数工程师的工作都在折腾那个单独的盒子,少部分人关注 flow 和盒子的相互作用。
整体来看,flow 随接入终端(确切说应该是 app)的增加指数级增加(规模为 n 的网络增加一个节点,理论上增加 n 条 flow),这意味着 NIC 带宽即使不能随着终端接入速度同步增长,至少它也应该足够快地升级,尽力满足快速增长的带宽需求,否则 buffer 则要大增,而 buffer 只能提供传输假象,无限增加的时延揭穿了这假象。

因此,我们合理假设,NIC 带宽在快速增加,而 buffer 则相对保持稳定。

这意味着交换节点 buffer 排空速度越来越快,但与此同时,flow 的 rtt 却至多保持不变(传播时延),还会稍微增加(排队时延)。拥塞表现在 buffer 排队,经典端到端拥塞控制需要将 buffer 排队这件事反馈到端,它固有滞后,拥塞信号的准确性取决于两点:

  • buffer 排空速度,越慢越好。
  • 信号反馈速度,越快越好。

打个比方,如果 buffer 在拥塞信号出发不久就迅速排空,那么这个信号就失效了,另一方面,即使 buffer 排空速度不变,信号反馈的速度很慢,这个信号的滞后性又严重了。

但若要取得好的传输体验,buffer 排空速度应该越快越好才对,拥塞本身和拥塞控制是矛盾的。想要更精确控制,就要慢一点,为了控制而控制。

so?经典拥塞控制将越来越失效。

事件持续时间和该事件的反馈时间的比值是核心,该比值越大,信息越精确,该比值越小,随机性越高。典型的例子是 CSMA/CD 和交换机,前者场景下该比值很小,引入随机就够,别的什么都别做,就像猜硬币,盲猜 50% 就 OK,任何启发只能削弱准确性,而后者场景下该比值非常大,便可以采用精确调度的方式。

另一个例子是足球和射击,足球速度慢,和球员奔跑速度在同一量级,球在飞行时,球员有足够时间重新布局位置,对足球比赛更多的是在宏观统计上的控制,而不存在针对某人,某坐标的精确控制,而射击则是另一个极端是射击,由于子弹速度远大于被射物体的移动速度,所以采用梭哈方式就更浪费,因为信息准确,可信度高。

现如今的互联网越来越像足球比赛,而不是射击。

至于数据中心,按以上原则倾向于启发精确控制,数据中心拥塞控制模型和广域网很不同,它更依赖精确信息,这就是为什么 google swift 好的原因,而广域网拥塞控制,足够模糊的 cubic 就够了。bbr 是另一种企图,它希望在模糊的环境做精确控制,也只有 google 自己的 B4 可以满足它了。

有点悲观,但只针对传统的,经典的拥塞控制领域,未来的另一条路完全是另一个方式,谁先发现谁抢跑。

和本文结合(联合,而不是反驳)的是另一个观点,随着带宽增加,app-limited 将越发可能,资源丰富时资源匮乏时的控制方式是根本不同的,早在农业时代,动力是稀缺的,人们倾向于节省动力,发展是收敛的,到了工业时代,动力是丰富的,人们倾向于不在乎甚至浪费动力,发展是粗旷野蛮的,就这个意思。

本文启发自昨天中午发的一个朋友圈:
在这里插入图片描述
在这里插入图片描述

皮鞋没有蹬上,露着白袜子。
浙江温州皮鞋湿,下雨进水不会胖。

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

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

相关文章

Django(复习篇)

项目创建 1. 虚拟环境 python -m venv my_env ​ cd my_env activate/deactivate ​ pip install django ​2. 项目和app创建 cd mypros django-admin startproject Pro1 django-admin startapp app1 ​3. settings配置INSTALLED_APPS【app1"】TEMPLATES【 DIRS: [os.pat…

双11终极官方战报 凯迪仕智能锁全网全渠道第一 持续领跑智能锁行业

一年一度双11狂欢盛典暂时落下帷幕,作为下半年最大的电商购物节,本次双11电商平台借机推出优惠券、补贴、折扣等促销活动,激发消费者购物热情。其中,智能门锁等智能家居产品更是取得了亮眼的成交。 据悉,凯迪仕智能锁双…

【Linux】 mdir命令使用

mdir 为mtools工具指令,模拟MS-DOS的dir指令,可显示MS-DOS文件系统中的目录内容。 语法 mdir [参数][目录] mdir命令 -Linux手册页 命令选项及作用 执行令 mdir--help 执行命令结果 参数 -a  显示隐藏文件。-f  不显示磁盘所剩余的可用空间。-w…

【C语言】函数的系统化精讲(三)

文章目录 一、递归举例二、递归举例2.1求n的阶乘2.2 顺序打印⼀个整数的每⼀位 三、递归与迭代3.1递归的思考3.2求第n个斐波那契数 总结 一、递归举例 .通过上回(【C语言】函数的系统化精讲(二))我们了解到递归的限制条件&#x…

Java终端模式小尝试

Java终端模式小尝试 1、IDE中终端1.1 拉去代码 jediterm1.2 IDE调用系统终端 2、待续~~ 1、IDE中终端 终端_Intellij IDEA、Terminal emulator | pycharm Documentation JetBrains jediterm WindTerm:新一代开源免费的终端工具,GitHub星标6.6k&#xff…

冒泡排序

贵阳这个地方的天气变化好大呀,前两天晒大太阳,今天就冷的脚抖,简直不要太冷,但是不管怎么样,还是要学习的哟! 冬天来了,春天确实还有一点远! 好了,话不多说,…

linux_day03

1、复习 遇到虚拟机异常退出,会生成配置文件,不确定文件以后是不是还要用的情况下,先改文件名,再启动虚拟机; 2、磁盘相关命令: df(disk full):查看磁盘整体状况 -h &…

ztree结合hmap使用经验分享

项目背景 在建德封控拦截系统(Vue3antd2.x)为追求更快的地图初始化体验,在尝试了hmap2.5.0版本以及2.6.3版本后,由于这两个版本在现场电脑的初始化速度不够流畅,最终使用的是hmap2.1.3版本。同时由于布控选设备&#…

2023年【起重机械指挥】考试试卷及起重机械指挥操作证考试

题库来源:安全生产模拟考试一点通公众号小程序 2023年起重机械指挥考试试卷为正在备考起重机械指挥操作证的学员准备的理论考试专题,每个月更新的起重机械指挥操作证考试祝您顺利通过起重机械指挥考试。 1、【多选题】《中华人民共和国特种设备安全法》…

在CMake中打印日志信息

message([STATUS|WARNING|AUTHOR_WARNING|FATAL_ERROR|SEND_ERROR] "message to display" ...) (无) :重要消息 STATUS :非重要消息 WARNING:CMake 警告, 会继续执行 AUTHOR_WARNING:CMake 警告 (dev), 会继续执行 SEN…

【hacker送书第一期】嵌入式虚拟化技术与应用

第一期图书推荐 前言为什么嵌入式系统需要虚拟化技术?专家推荐本书适用群体内容简介目录权威作者团队参与方式 前言 随着物联网设备的爆炸式增长和万物互联应用的快速发展,虚拟化技术在嵌入式系统上受到了业界越来越多的关注、重视和实际应用。嵌入式系…

云端部署ChatGLM-6B

大模型这里更新是挺快的,我参考的视频教程就和我这个稍微有些不一样,这距离教程发布只过去4天而已… 不过基本操作也差不多 AutoDL算力云:https://www.autodl.com/home ChatGLM3:https://github.com/THUDM/ChatGLM3/tree/main Hug…

消息队列之初识Rabbit及安装

文章目录 一、MQ的相关概念1.什么是MQ?2.为什么要用MQ2.1流量消峰2.2应用解耦2.3异步处理 3.MQ 的分类3.1.ActiveMQ3.2.Kafka3.3.RocketMQ3.4.RabbitMQ 4.MQ 的选择4.1.Kafka4.2.RocketMQ4.3.RabbitMQ 二、RabbitMQ的相关概念1.四大核心概念2.RabbitMQ 核心部分3.Ra…

OpenMMlab导出yolov3的onnx模型并推理

手动导出 直接使用脚本 import torch from mmdet.apis import init_detector, inference_detectorconfig_file ./configs/yolo/yolov3_mobilenetv2_8xb24-ms-416-300e_coco.py checkpoint_file yolov3_mobilenetv2_mstrain-416_300e_coco_20210718_010823-f68a07b3.pth mod…

数据结构-堆和二叉树

目录 1.树的概念及结构 1.1 树的相关概念 1.2 树的概念 1.3 树的表示 1.4 树在实际中的应用(表示文件系统的目录树结构) 2.二叉树的概念及结构 2.1 概念 2.2 特殊的二叉树 2.3 二叉树的存储 3.堆的概念及结构 4.堆的实现 初始化堆 堆的插入…

仿写知乎日报第四周

本周主要修改了以往的一些bug,实现了一些遗漏的新功能。 无限右滑 无限右滑我听了学长的思路,首先在scrollView的画布大小设置多一个宽度的画布,然后每当滑到那个画布的时候,就调用一个通知,该通知会触发在首页的vie…

【 第十三章】软件设计师 之 面向对象程序设计

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 备考资料导航 软考好处:软考的…

有效的字母异位词

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s “anagram”, t “nagaram” 输出: true 示例 2: 输入: s “rat”, …

k8s笔记资源限制,亲和和性 污点和容忍

镜像下载失败 当宿主机资源不足时,会把pod kill ,在其他node 重建 在宿主机放可能多的资源 requests(请求) limits(限制) 超出百分比 容器 pod namespace级别 pod使用资源过多,导致宿主机资源不足,会导致重建pod cpu 内存限…

【设计原则篇】聊聊单一职责原则

因为是刚开始写软件设计相关的文章,这里先大概介绍下,软件设计相关的知识图谱。大概分类的话, 编程范式 软件设计相关原则 Don’t Repeat Yourself (DRY)Keep It Simple, Stupid(KISS)Program to an interface, not an implementationYou Ai…