论文分享:PowerTCP: Pushing the Performance Limits of Datacenter Networks

news2024/11/16 21:59:41

1 原论文的题目(中英文)、题目中包含了哪些关键词?这些关键词的相关知识分别是什么?

题目:PowerTCP: Pushing the Performance Limits of Datacenter Networks

      PowerTCP:逼近数据中心的网络性能极限

2 论文的背景:作者、工作单位、发表刊物、索引情况

作者:Vamsi Addanki 、Oliver Michel 、Stefan Schmid

单位:TU Berlin 、University of Vienna、Princeton University

发表刊物:19th USENIX Symposium on Networked Systems Design and Implementation(NSDI2022 计算机网络CCF A类)

3 问题的提出:论文论述的技术/科学是什么问题?为什么会存在这样问题?这种技术/科学问题存在的背景是什么?

本文研究的是数据中心网络的拥塞控制算法

背景知识:

数据中心中存在三种形式的流:查询流、短流、长流。其中查询流和短流对延迟敏感,长流需要较高的吞吐量。

数据中心对网络的要求:低延迟、高带宽。

常规的TCP协议的拥塞控制机制(慢开始、拥塞避免、快重传、快恢复)不再适用于数据中心网络环境。

4 问题的相关研究:其他相关研究是如何解决类似的问题的?

现有的对数据中心网络拥塞控制的研究主要分为两类:基于网络状态的拥塞控制算法和基于网络变化的拥塞控制算法。

4.1 基于网络状态的拥塞控制算法

根据交换机中 Queue Length 或者RTT来发现拥塞,并且依据这些信息决定该如何调整拥塞窗口的大小(cwnd)。(voltage based)

以DCTCP(Data Center TCP)为例。在交换机处设置阈值 K,数据包达到交换机时,若队列占用值大于K,则标记该数据包。接受端收到带有标记的数据包后返回的ack报文同样带有标记,发送根据收到的ack中带标记的数据包占总发送数据包的比例来调节拥塞窗口大小(cwnd)。

实例:DCTP、DCQCN、HPCC

优点:控制更加准确

缺点:反应较慢(针对突发的网络冲突应对不足)

4.2 基于网络变化的拥塞控制算法

根据交换机中网络变化,比如检测RTT的变化(RTT的梯度),并且依据这些信息决定该如何调整拥塞窗口的大小(cwnd)。(current based)

实例:TIMELY

优点:反应更快

缺点:控制不太精准

4.3 两种拥塞控制算法的问题

由于当前的网络拥塞控制算法(Congestion Control,简称CC)实现原理的限制,当前CC在反应速度和控制精度上往往只能选一个。 

(a) 当队列长度增长速度发生变化时,基于网络状态的拥塞控制算法的反应是一样的。

(b) 针对于队列长度不同的设备,基于网络变化的拥塞控制算法的反应是一样的。

(c) 因此,基于网络状态的拥塞控制算法无法区分case2和case3这两种情形;基于网络变化的拥塞控制算法无法区分case1和case3这两种情形。

5 基本思想:本文解决该问题的基本思想、过程是什么?

实现网络拥塞控制需要如下两个关键点:

  • 如何发现拥塞
  • 如何控制拥塞

5.1 如何发现拥塞

本文使用的是带内网络遥测(In- band network telemetry ,简称INT)

带内网络遥测原理:

In-band:监测网络设备的状态时无需单独构造一个数据包,可以将检测信息附加到正常数据包(如TCP、UDP)的包头。(个人理解)

简单的来说,INT可分为两部分:INT Header和INT Metadata

  • INT Header:由INT的发送端添加进正常数据包,指明了要收集那些信息以及INT最终的接受端是谁。
  • INT Metadata:记录网络状态,由数据包传输过程中每个网络设备添加(交换机或路由),将需要检测的数据添加进来。 

本文的所使用的网络监测方法简介

要监测的信息:

  • Queue Length (qlen)
  • Timestamp (ts)
  • So far transmitted bytes (txBytes)
  • Bandwidth (b)

监测流程:

表示正常数据包

表示INT Header

表示确认收到的ACK 

Sender :-->网络设备--->--->Receiver

Sender :<-----网络设备<----<-----Receiver

5.2 如何控制拥塞

几乎所有的拥塞控制都是通过控制发送端的拥塞窗口的大小(cwnd

具体拥塞窗口该选多大是根据拥塞控制算法算出的。

本文就提出了PowerTCP算法,是一种同时基于网络状态和网络变化的拥塞控制算法。

6 配图:找出全文中最具概括性的一幅配图(架构图/流程图/思路图...),简单解释这张图。这幅图是如何概括全文的?

网络拥塞程度

 \underbrace{\Gamma(t)}_{power}=\underbrace{(q(t)+b\cdot\tau)}_{voltage}\cdot\underbrace{\lambda(t-t^f)}_{current}

\Gamma(t) :反应当前网络的拥塞程度

q(t): 当前队列长度

b: 带宽×基本往返时间(不包括排队延迟),飞行中的数据量。

\lambda(t-t^f):队列长度变化率

计算拥塞窗口的公式

w_i\leftarrow \gamma(w_i(t-\theta(t)))+(1-\gamma)\cdot w_i(t)

e=b^2\cdot\tau; f(t)=\Gamma(t-\theta(t)+t^f))

 w_i(t):拥塞窗口大小

 \gamma:经验参数,建议取0.9

 \theta(t)=\frac{q(t)}{b}+\tau:基本往返时间(Base RTT) +排队延迟

 \beta:增量,经验参数

计算拥塞窗口的算法

7 实验:采用了什么硬件配置和软件环境?每项测试是在和哪些同类研究做对比?分别测试了哪些指标(例如,延迟/吞吐量/资源利用率...)?

环境:

 搭建了一个基于Fat Tree拓扑的数据中心网络,其中有2个核心交换机和256台服务器,它们被组织成4个pod。每个pod由两个ToR交换机和两个汇聚交换机组成。所有交换机到交换机链路的容量均为100Gbps,服务器到交换机链路的容量均为25Gbps。

测量指标: 吞吐量、队列长度、尾延迟、短流的99th-percentile flow completion times (FCT),不同大小的流的 99th-percentile FCT。

8 二次利用:论文是否提供源代码?

无;

其他开源项目:DCTCP、HPCC、TIMELY

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

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

相关文章

银河麒麟安装mysql数据库(mariadb)-银河麒麟安装JDK-银河麒麟安装nginx(附安装包)

银河麒麟离线全套安装教程&#xff08;手把手教程&#xff09; 1.银河麒麟服务器系统安装mysql数据库&#xff08;mariadb&#xff09; 2.银河麒麟桌面系统安装mysql数据库&#xff08;mariadb&#xff09; 3.银河麒麟服务器系统安装JDK 4.银河麒麟桌面系统安装JDK 5.银河麒麟…

【Linux后端服务器开发】MAC地址与其他重要协议

目录 一、以太网 二、MAC地址 三、MTU 四、ARP协议 五、DNS系统 六、ICMP协议 七、NAT技术 八、代理服务器 一、以太网 “以太网”不是一种具体的网路&#xff0c;而是一种技术标准&#xff1a;既包含了数据链路层的内容&#xff0c;也包含了一些物理层的内容&#xf…

Linuxcnc-ethercat从入门到放弃(1)、环境搭建

项目开源网站 LinuxCNChttps://www.linuxcnc.org/当前release版本2.8.4 Downloads (linuxcnc.org)https://www.linuxcnc.org/downloads/可以直接下载安装好linuxcnc的实时debian系统&#xff0c;直接刻盘安装就可以了 安装IgH主站&#xff0c;网上有很多教程可供参考 git clo…

【Rust】枚举类型创建单链表以及常见的链表操作方法

目录 单链表 用枚举表达链表 枚举enum Box容器 创建节点 1. 创建并打印 2. match 匹配 3. 节点初始化 4.节点嵌套 追加节点 1. 尾插法 2. 链表追加方法 3. 头插法 4. 改写成单链表方法 遍历链表 1. 递归法 2. 递推法 3. 改写成单链表方法 自定义Display tr…

8. Vmvare中重新分配Linux系统的分区空间大小

1. 说明 一般情况下&#xff0c;在使用Vmvare虚拟机创建配置Linux系统时&#xff0c;默认将系统的内存设置为4GB&#xff0c;硬盘大小设置为40GB&#xff0c;但随着空间利用的越来越多&#xff0c;内存会出现不够使用的情况&#xff0c;此时需要重新分配空间大小&#xff0c;具…

go 查询采购单设备事项[小示例]

一、项目背景 1.1需求&#xff1a; 项目实施过程中存在多次下采购单的事项&#xff0c;如果查询过去采购单中下了哪些设备&#xff0c;数量以及相应信息&#xff0c;如何处理呢? 备注&#xff0c;价格等都是修改了&#xff0c;不是原始内容&#xff0c;只是参考 1.2实现步骤…

transformer代码注解

其中代码均来自李沐老师的动手学pytorch中。 class PositionWiseFFN(nn.Module):ffn_num_inputs 4ffn_num_hiddens 4ffn_num_outputs 8def __init__(self,ffn_num_inputs,ffn_num_hiddens,ffn_num_outputs):super(PositionWiseFFN,self).__init__()self.dense1 nn.Linear(ffn…

3ds MAX绘制简单动画

建立一个长方体和茶壶&#xff1a; 在界面右下角点击时间配置&#xff1a; 这是动画制作的必要步骤 选择【自动】&#xff0c;接下来&#xff0c;我们只要在对应的帧改变窗口中图形的位置&#xff0c;就能自动记录该时刻的模样 这就意味着&#xff0c;我们通过电脑记录某几个…

工业平板电脑优化汽车工厂的生产流程

汽车行业一直是自动化机器人系统的早期应用领域之一。通过使用具有高负载能力和远程作用的大型机械臂&#xff0c;汽车装配工厂可以实现点焊、安装挡风玻璃、安装车轮等工作&#xff0c;而较小的机械手则用于焊接和安装子组件。使用机器人系统不仅提高了生产效率&#xff0c;还…

工业智能化的关键之二:集成监控和分析能力

将监控和分析能力集成到工厂运营的日常中是工业智能化发展的关键步骤。随着科技的进步和数字化技术的广泛应用&#xff0c;工厂正在逐步实现从传统的人工操作到智能化的转变。这种转变不仅提高了工厂的生产效率和产品质量&#xff0c;还极大地提升了工厂的安全性和可靠性。 1.…

Flutter 调试工具篇 | 壹 - 使用 Flutter Inspector 分析界面

theme: cyanosis 1. 前言 很多朋友可能在布局过程中、或者组件使用过程中&#xff0c;会遇到诸如颜色、尺寸、约束、定位等问题&#xff0c;可能会让你抓耳挠腮。俗话说&#xff0c;磨刀不误砍柴工&#xff0c;会使用工具是非常重要的&#xff0c;其实 Flutter 提供了强大的调试…

axios使用异步方式无感刷新token,简单,太简单了

文章目录 &#x1f349; 废话在前&#x1f357; 接着踩坑&#x1f969; 解决思路&#x1f353; 完整代码 &#x1f349; 废话在前 写vue的或帮们无感刷新token相信大家都不陌生了吧&#xff0c;刚好&#xff0c;最近自己的一个项目中就需要用到这个需求&#xff0c;因为之前没…

Fluentbit

Fluent Bit&#xff08;常简称为Fluent-Bit 或 Fluentbit&#xff09;是一个开源的、轻量级的日志数据收集器&#xff08;log collector&#xff09;和 转发器&#xff08;log forwarder&#xff09;&#xff0c;旨在高效地收集、处理和转发日志数据。它是Fluentd项目的一个子项…

山东农业大学图书馆藏书《乡村振兴战略下传统村落文化旅游设计》

山东农业大学图书馆藏书《乡村振兴战略下传统村落文化旅游设计》

数字化时代,企业研发效能跃升之道丨IDCF

本文节选自新书《数字化时代研发效能跃升方法与实践》 作者&#xff1a;冬哥 研发效能是近年的热词&#xff0c;企业言必谈效能&#xff0c;但究竟什么是研发效能&#xff0c;落地具体应该如何进行&#xff0c;相信每个人都会有无数的问题浮现。 什么是效能&#xff1f; 效能…

Element-plus侧边栏踩坑

问题描述 el-menu直接嵌套el-menu-item菜单&#xff0c;折叠时不会出现文字显示和小箭头无法隐藏的问题&#xff0c;但是实际开发需求中难免需要把el-menu-item封装为组件 解决 vue3项目中嵌套两层template <template><template v-for"item in list" :k…

内网隧道代理技术(十三)之内网代理介绍

前言 什么?你问我内网隧道代理技术怎么突然就第十三篇了,第十二篇呢?这个,因为某些不可抗拒力量,第十二篇博客无法发表,如果想要查阅,请加内网渗透qq群:838076210 内网代理介绍 内网代理介绍 内网资产扫描这种场景一般是进行内网渗透才需要的代理技术,如果你不打内…

公共字段的填充

方式1&#xff0c;通过mybatis-plus提供的MetaObjectHandler进行填充 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;import com.sky.context.BaseContext; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.reflection.MetaObject; import o…

【ROS第一讲】一、创建工作空间

【ROS第一讲】一、创建工作空间 一、工作空间1.src&#xff1a;2.build&#xff1a;3.devel&#xff1a;4.install: 二、创建工作空间1.工作空间的编译2.配置环境变量&#xff1a; 三、创建功能包 一、工作空间 1.src&#xff1a; 放置所有功能包源码的空间 2.build&#xf…

Unity XML3——XML序列化

一、XML 序列化 ​ 序列化&#xff1a;把对象转化为可传输的字节序列过程称为序列化&#xff0c;就是把想要存储的内容转换为字节序列用于存储或传递 ​ 反序列化&#xff1a;把字节序列还原为对象的过程称为反序列化&#xff0c;就是把存储或收到的字节序列信息解析读取出来…