参考资料:

NSDI 2021 Breaking the Transience-Equilibrium Nexus: A New Approach to Datacenter Packet Transport笔记
https://blog.csdn.net/weixin_44260459/article/details/120687536?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.fixedcolumn&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.fixedcolumn

NSDI‘2021 A New Approach to Datacenter Packet Transport论文阅读笔记

https://blog.csdn.net/weixin_41820355/article/details/116272188

Breaking the Transience-Equilibrium Nexus A New Approach to Datacente

https://www.bilibili.com/video/BV1Zy4y1s76Z?p=10

NSDI 2021】Breaking the Transience-Equilibrium Nexus【双语字幕】

https://www.bilibili.com/video/BV1764y1q7TN

OnRamp NSDI’21

https://zhuanlan.zhihu.com/p/378519343

NDSI21: On-Ramp论文解读

https://zhuanlan.zhihu.com/p/373194288

===================================================

1 现在数据中心网络的解决主要包含两类方式:

​ 一类是 依赖于网络中日益丰富的拥塞信号(ECN、队列大小,链路利用率等)

​ 一类是 关注数据包调度机制,通过对数据包进行调度避免拥塞的发生

2 近几年提出的算法越来越依赖于网络内部的支持,这些内部的支持包括有更加复杂的拥塞信号的传递。比如:ECN标记,到后来可能有例如链路利用率,链路带宽,队列大小等复杂信息。

3 On-Ramp是为了解决什么问题?

尽可能地实现数据中心的高吞吐量和低延迟的目标,并有效地处理突发流量,incast问题。

少用网络内部支持。

4 应用环境换了?

但是现在某些环境下并不能得到这些复杂的网络信号,比如公共云环境中,云用户可以访问网络的边缘,但是他们不能访问网络基础设施,那么他们就无法接收到拥塞控制信号或是调度机制,从而无法有效的进行拥塞控制。

一方面这些复杂的机制导致了协议部署难度加大(可能需要修改交换机),另一方面在一些特定环境下,网络是不能导出复杂的网络信号,也不能进行复杂的包调度,比如说公共云客户所处的环境。

5 原来的方法为啥不好?

以往的算法如下图所示的公式来更新发送窗口和发送的速率,但这在瞬时(transient)和均(equilibrium)状态下的权衡考虑有所欠缺,导致 Transience-Equilibrium Tension,即:在均衡状态下表现良好的参数在瞬时过载状态下的表现并不理想,反之亦然。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V77neV77-1641267015993)(C:\Users\dongzhi\Desktop\1数据中心网络\picture\On-Ramp\TIMELY和DCQCN两个拥塞控制协议举例.png)]

可以发现,激进地选择减窗参数虽然可以使得incast问题能够被很快地解决,但是同时也会导致带宽利用率过低;而选择平缓的减窗参数虽然会使得利用率维持在100%,但是面对incast问题时反应相当缓慢。
这两个例子说明了一个问题:在没有使用丰富的拥塞信号的情况下,两种状态是要进行权衡的。

6 On-Ramp算法思路:

所以本文将这两种网络状态解耦合,分开进行处理,提出On-Ramp,对均衡和瞬时的流量分别处理:

    在均衡(equilibrium)状态下:使用现有的拥塞控制算法。(On-Ramp可以和任何数据中心拥塞控制算法结合,只需要修改终端主机而不需要修改交换机)而在瞬时过载(transient overload)状态下:使用本文的新算法On-Ramp,On-Ramp在瞬时过载期间拦截并保存网络边缘的任何协议的数据包。

这篇文章就是想要在不使用复杂拥塞信号的前提下解决incast问题,On-ramp给出的解决方案非常简单,就是通过暂停,只要我停住并且不停过头,那么incast问题就不会存在了。

On-Ramp的设计思路是**如果最近一个被接收到的数据包的单向延迟(OWD)大于阈值T,那么发送方会暂停该条流的发送。**通过这种方式将瞬时状态从普通状态下解耦合出来,因为如果单边延时的大小不会超过T,On-Ramp不会生效。它会对瞬时状态并发流的生成来进行阻止。

On-Ramp的算法细节:

On-Ramp的关键是精准的测量OWD(单程延迟),利用OWD来检测瞬时过载的情况;本文采用的是惠更斯Huygens,使得On-Ramp更容易部署。

优点:

1、该方法使得即使是在虚拟机环境下也能正常的进行拥塞控制

2、如果部署起来比较简单,因为它只需要更改终端设备即可,无需更改交换机等

不足:

1、对于HPCC和DCTCP这类本身就是依靠时延避免拥塞的算法而言,On-Ramp对它并没有明显的性能提升。对于对于自己不能控制排队延迟的拥塞控制算法(例如TCP CUBIC), on - ramp添加了这个功能。对于一个自身能够控制排队延迟的拥塞控制算法(例如DCTCP), on - ramp的工作方式就像一种保护措施,用于降低尾部延时。

2、然后是公平性问题。On-ramp的应对方式其实相当消极,只要owd低于阈值就会暂停。那么如果网络中其它的流全都是类似于CUBIC这种会把缓冲区全部填满的激进算法呢?On-ramp算法在这种竞争中无疑会出于绝对的劣势,从而使用了On-ramp的流链路占有率非常低。

On-Ramp算法参考资料相关推荐

  1. 数据结构疑难算法参考资料

    数据结构疑难算法参考资料 KMP算法:https://www.cnblogs.com/yjiyjige/p/3263858.html#4061486 KMP算法中Next数组及改进后的nextval数 ...

  2. 全景视频拼接算法参考资料

    知乎回答<目前最成熟的全景视频拼接技术是怎样的?> https://www.zhihu.com/question/34573969/answer/122797987 知乎回答<图像拼 ...

  3. 特征选择之Relief算法与Relief-F算法

    特征选择之Relief算法与Relief-F算法 一.背景介绍 二.Relief算法 三.Relief-F算法 参考资料 一.背景介绍 Relief算法是由Kira提出的一种经典的过滤式特征选择算法, ...

  4. [AI 笔记] BP反向传播算法

    [AI 笔记] BP反向传播算法 说明 BP算法 链式法则 计算图 简单例子 前向传播 反向传播 聚焦计算节点,深入理解 计算节点的代码实现 例子 各种门的功能 多元链式法则 向量化BP算法 参考资料 ...

  5. 视觉算法需要哪些知识,视觉算法和图像算法

    深度学习和传统机器学习相比有哪些优势? 一.数据依赖性深度学习与传统的机器学习最主要的区别在于随着数据规模的增加其性能也不断增长.当数据很少时,深度学习算法的性能并不好.这是因为深度学习算法需要大量的 ...

  6. C#实现DLT直接线性变换(Direct Linear Transform)算法

    C#实现DLT直接线性变换(Direct Linear Transform)算法 参考资料: 1.武大版<工业测量技术与数据处理>P100-P106 2.转载博文--MATLAB实现DLT ...

  7. YOLO系列算法精讲:从yolov1至yolov5的进阶之路(2万字超全整理)

    写在前面:大家好!我是[AI 菌],算法工程师一枚,2021年博客之星Top12,公众号[AI 修炼之路]作者.专注于计算机视觉.深度学习.图像处理技术,热衷于分享AI.CV.DL.ML.OpenCV ...

  8. 三路快排算法加强版(三路快排的再次改进)

    :不要忘记初心哈 :) 理论依据 快排算法的缺陷及其逐一改进 三路快排尽可能三等份划分区间 通过待排元素的区间长度划分? 通过待排元素的最值之差划分? 直接使用待排元素的最大值划分? 实验数据 大范围 ...

  9. 【嵌入式·单片机】老生常谈:学习单片机和嵌入式是否需要学习算法?

    文章目录 前言 什么是算法 嵌入式是否需要算法 如何学习算法 参考资料 前言 刚学习单片机或嵌入式的同学可能会听说过「算法」这个词,部分电子信息类专业的同学也会在自己的培养计划上看到<数据结构与 ...

  10. 垃圾回收及涉及的算法

    一.什么是垃圾? 程序在运行过程中,长时间会有一些无引用且仍然存活动对象,就好多比,你有一套很大的房子,有好几个房间,自己又是个吃货,专门搞了一个房间用于存放零食.吃货每次去超市都会买一些东西回来放在 ...

最新文章

  1. MySQL——EXPLAIN和执行计划
  2. 【安全实战】红队攻防技术
  3. char与byte的区别
  4. JavaScript垃圾回收机制理解
  5. mysql分区列要包含主键吗_MYSQL的分区字段,必须包含在主键字段内
  6. sublime中编译的sass如何改变css输出风格?【这里有答案】
  7. 苹果或在 WWDC 宣布放弃英特尔转向自研 5nm ARM 芯片,这次时机成熟了?
  8. CSS3制作3D水晶糖果按钮
  9. 关于jquery mobile 页面闪烁与抖动问题
  10. Python学习之路day02——007字典的嵌套
  11. 《电子信息系统机房设计规范》中涉及到的节能问题
  12. edp和edt哪个好_菲拉格慕香水edp和edt的区别 选择适合自己的香水方法
  13. 【题解】二进制优化的多重背包问题
  14. mysql 计算成功率_mysql数据统计技巧备忘录
  15. python爬虫基础Ⅱ——Ajax数据爬取、带参请求:QQ音乐歌单、QQ音乐评论
  16. 前端小报-201809 月刊
  17. SAP的SYSTEM的函数列表和代码示例
  18. Map相关、HashMap
  19. Android 实现三级联动 国家统计局全国省市县行政区域最新划分数据库
  20. Java + OpenCV 模板匹配

热门文章

  1. 写bat文件,报系统找不到指定文件的处理方式
  2. Qt之表格输入内容限制方法示例
  3. python自动化之控制浏览器
  4. 防抖与节流的原理、实现及优化
  5. vivos9e防抖功能设置教程
  6. 网络流24题 餐巾计划(费用流)
  7. linux无法访问443端口,无法监听EC2上的https端口443(Amazon Linux)
  8. 计算机配置音箱便宜,电脑音箱买什么价位的好 六款适合不同群体的音箱推荐...
  9. 多媒体计算机硬件指示,多媒体计算机硬件系统构成
  10. 云计算的三种服务模式:IaaS、PaaS、SaaS