文章目录

  • 设计背景
  • pHost模型
  • 总结

设计背景

pHost这篇文章是加州伯克利分校在2015年的CoNEXT会议上提出的,它也是后来的数据中心网络下接收端驱动的主动拥塞控制的雏形。我之前看的文章包括Expresspass,NDP和Homa都是在这篇文章上提出的后续改进方案。

这篇文章的的设计初衷是为了达到与pFabric相近的性能,同时兼具Fastpass的灵活性。这两篇论文它们分别来自13年和14年的sigcomm,这里简单介绍一下。
pFabric在性能上被认为是当时最优的设计,它的核心思想是通过流的大小来对不同的流进行优先级调度和优先级丢包,交换机上优先调度高优先级的数据包,缓冲区满的时候优先丢弃低优先级的包。但是pFabric其实是有问题的,一方面它是默认使用者可以从数据中心中获得每条流大小。但是事实上这种信息其实是很难获取的,因为有一部分流一边计算一边传输的,在传输完成之前数据中心也不知道它总共要传输多少字节。另一方面,商用交换机芯片并未广泛支持优先级丢包机制,一旦一个数据包进入了交换机的缓冲区,它就不会被新到来的包“挤出去”,即使这个包的优先级比它更高。基于这些原因,pFabric想要部署在商业交换机上其实是有难度的,所以被论文中认为它虽然有好的性能但是不够灵活。
而fastpass的核心思想是发送数据前,发送端会向集中控制器发送请求,集中控制器结合请求信息和网络状况作出相应的调度,包括发送数据的时间、速率和路径等。这种集中式调度优点是可以获取网络全局信息,理论上可以达到最优的调度,但是也存在明显缺点,系统实现上需要额外一个 RTT 去获取调度决策而这对于小流的完成时间有非常大负面影响.
所以这篇文章提出的pHost是想要做到兼具灵活性与性能。

作为接收端驱动的雏形,它不需要特别的硬件支撑,没有类似于fastpass的集中式调度,也没有显示网络反馈的环节,但是它可以接近最佳性能。下面来介绍pHost的具体设计:

pHost模型

pHost结构下的三种主要的数据包:

  • RTS包,request to send,这个数据包中包含了流的信息。每当有新的流到达时,RTS包就会从发送方发送到接收方。
  • 第二个包是Token,接收方会在每一个MTU的转发时间将其发送到发送方,提醒发送方发包,它携带的信息的包的偏移与发包的优先级。
  • 最后一种就是data packet,携带负载。

论文中认为对于一个拉动式的端到端的调度结构,最重要的就是保证发送端和接收端达到最高的利用率。这里对发送端和接收端进行具体介绍:

在发送端上,每当有新的流到达时,它就会发送一个RTS去接收端,发送端也允许同时接收多个不同的并行token包。发送端会从不同的流上接收到不同的tokens,通过tokens的到达顺序来对不同的流进行发包。

为了保证接收端上的高利用率,如果发送端接收到了Token但是没有立即使用,Token就会过期,然后token隶属的那一条流就会被降级,在三个RTT时间内不在允许被发包。

一对一的情况,这里介绍一个实例:这里有新的流到达,所以发送方发送一个RTS包给接收方,向接收方请求信息。
接收方在接收到RTS以后对流的信息进行记录,在每个MTU的发送周期发送一个Token包给发送发,提醒发送发发包,这样接收方就可以一直保持接近线速来接收包。这里是一对一的情况所以也不会出现token过期的情况。当整个流传输完毕时,接收方向发送方发送一个ACK。

总结

pHost可以解决发送端入口链路和接收端出口链路的拥塞问题,但是对于其它交换机仍然有可能出现拥塞,这个时候pHost就会失去作用。
NDP中提到了这样一种情况,拥塞发生在stage3 的sub-switch1的入口队列,pHost是没办法解决这个问题的。像NDP为了解决这个问题就引入了CP修建负载的机制。

CoNEXT2015 pHost 论文读书笔记相关推荐

  1. 云计算论文读书笔记1

    论文读书笔记 论文: Predicting Workflow Task Execution Time in the Cloud Using A Two-Stage Machine Learning Ap ...

  2. Raft论文读书笔记

    Raft论文读书笔记 Raft是当前分布式领域最重要的一致性算法之一,今天我们就来好好研究研究这个算法的[论文][1], 还有对应[网站][2], [动画][3], 不想看英文的也有中文的[翻译][4 ...

  3. SSP: Semantic Space Projection for Knowledge Graph Embedding with Text Descriptions 论文读书笔记

    SSP: Semantic Space Projection for Knowledge Graph Embedding with Text Descriptions 论文读书笔记 1. Motiva ...

  4. CCNet: Criss-Cross Attention for Semantic Segmentation论文读书笔记

    CCNet: Criss-Cross Attention for Semantic Segmentation读书笔记 Criss-Cross Network(CCNet): 作用: 用来获得上下文信息 ...

  5. 知识蒸馏论文读书笔记

    突然觉得,我应该做一点笔记,梳理一下学过的东西,否则年一过,整个人就跟失忆了一样. 知识蒸馏这个名字非常高大上(不得不说大佬不仅想法清新脱俗,名字也起的情形脱俗啊).如果直白地说老师学生模型,那就不酷 ...

  6. Sigcomm‘2018 Homa: A Receiver-Driven Low-Latency Transport Protocol Using Network Priorities论文读书笔记

    文章目录 Introduction Motivation Homa Design Discussion Introduction 这篇文章是Sigcomm2018年的文章Homa. Homa是基于pH ...

  7. 计算机与计算思维读后感论文,读书笔记——计算思维培养的一点领悟与构想

    计算思维培养的一点领悟与构想 前几天从<中小学信息技术教育>月刊上读到了一篇非常好的论文--<点燃高中信息技术课堂计算思维的火花>,作者冯士海,冯老师的文章主要从三个方面展开: ...

  8. 论文读书笔记-Bengio

    为了省掉码文字的时间,第一篇文章转载于http://blog.csdn.net/zouxy09/article/details/8782018,其他文章笔记均原创. [2012]Bengio, Y ...

  9. sigcomm‘2020 Aeolus: A Building Block for Proactive Transport in Datacenters论文读书笔记

    文章目录 Introduction Background Aeolus Overview Rate Control Selective Dropping Loss Recovery Conclusio ...

最新文章

  1. 赠票 | 深度强化学习的理论、算法与应用专题探索班
  2. StemBlock pytorch实现
  3. 元素 float:right 后右对齐换行原因
  4. 2021高考成绩微信查询方法6,2021年高考成绩查询时间、入口及方法
  5. Kubernetes 1.20 版本开始将弃用 Docker,是时候拥抱 Containerd 和 Podman 了!
  6. 【QT 数据库专辑】【04】WIN7下搭建本地SQL SERVER数据库 - 手把手-登录远程数据库帐号设定问题
  7. Delaunay三角剖分算法
  8. 3G.处女座和小姐姐(三)(C++)
  9. 题目推荐—POJ数学题目
  10. 【python与数据分析】实验十三 北京市空气质量
  11. 农业种植大数据平台构建
  12. 【Solved】syntax error near unexpected token done
  13. 实现八大行星绕太阳3D旋转效果,这波操作不来喊个666?
  14. 两台电脑,文件夹之前实现同步
  15. SciDAVis:替代Origin的免费绘图软件之一
  16. html5 websocket 游戏,基于Websocket的H5在线游戏对战平台
  17. Mac下chromedriver下载及安装详解
  18. linux查看docker日志,linux:有效使用docker logs查看日志
  19. 人工智能中的运筹学与最优化就该这样学之著名教材
  20. 新型压电式雨量传感器累计雨量、本场雨量、本场持续雨量、过去一分钟雨量、过去十分钟雨量、本场峰值雨量分钟皆可监测

热门文章

  1. 为什么有些老顾客吃着吃着就不再来照顾生意了
  2. matlab中kstest用法详解
  3. DPDK 报文调度/保序 终极解决方案 Event Dev 简介(硬件加速也很可能是鸿蒙微内核IPC性能的钥匙)...
  4. java花星星 星星大小随机_java 在窗口中用*号,随机画星星和满月
  5. 宝塔PM2管理器 失效问题
  6. springboot整合My_batis 排错
  7. unity3d什么的书籍比较好,unity3d游戏开发书籍汇总
  8. 不忘初心,砥砺前行,我们十岁啦!
  9. php中explode的是什么类型的_PHP中explode函数和split函数的区别小结
  10. CLTPHP5.0发布