- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
01
RoCEv2为什么需要无损网络
RoCEv2是基于以太网的RDMA实现,它使用了以太网的网络基础设施来传输RDMA数据。然而,RDMA对网络的要求比传统的TCP/IP通信更严格。RDMA通信中,数据传输是直接从发送端的内存到接收端的内存,而不需要中间的操作系统或CPU参与。这种特性使得RDMA对网络延迟和可靠性的要求更高,尤其是对网络包的丢失和延迟敏感。
无损网络是指能够提供高带宽、低延迟、低丢包率的网络。在RDMA的情境下,无损网络可以确保数据包能够按时到达,并且不会因为网络拥塞或错误而丢失,从而保证了RDMA通信的可靠性和低延迟。这是因为RDMA在传输过程中依赖于数据包按序到达,一旦出现丢失或者重传,会影响整个数据传输的完整性和效率。
在实际应用中,使用RDMA通常是为了实现高性能的数据传输,比如在数据中心内部或者高性能计算等场景下。这些应用通常需要高带宽和低延迟,并且对数据传输的可靠性有严格要求。举例来说,大规模数据分析、人工智能模型训练、高性能存储系统等都是需要使用RDMA来实现高性能数据传输的场景。
在这些场景下,无损网络的存在可以保证数据传输的可靠性和低延迟。假设在高性能计算集群中,如果网络出现拥塞或丢包,会导致RDMA通信中的数据丢失或延迟增加,从而降低整个系统的性能和效率。因此,通过使用无损网络,可以避免这些问题,确保RDMA通信能够以高性能和可靠性进行。
02
拥塞控制算法
2.1PFC
简介
传统的以太网PAUSE帧技术,当网络中的下游设备发现其流量接收能力小于上游设备的发送能力时,会主动发PAUSE帧给上游设备,要求上游设备暂停流量发送,等待一段时间后再继续发送。此种技术引来的弊端,流量暂停是针对整个端口,而实际的线网业务中,各类业务流量会共享端口链路,此时该端口下所有的业务流量都将会受到影响。
为了解决上述问题,IEEE802.1Qbb定义了PFC(Priority-basedFlowControl,基于优先级的流量控制),PFC可以有效的防止交换机和网卡的缓冲区溢出,交换机和网卡监测入方向队列,当队列超过一定阈值时,将会向数据上游设备发送PAUSE消息。上游设备收到PAUSE消息后将会停止发送该队列数据,直到接收到RESUME消息。PFC支持8个优先级队列,PAUSE和RESUME消息都是基于单个队列,使能了PFC功能的队列称之为无损队列。由此可见PFC解决了传统以太网PAUSE帧技术的弊端,可以将共享端口链路下不同队列的数据单独使能PFC功能,从而不影响其他队列。
工作模式
PFC的工作模式,如Figure1,当某个队列缓存发生拥塞时,就会向上游设备发送反压信号,上游发送方收到信号后就会停止发送该队列流量,直到收到接收端发送的解除流量抑制的信号或者超时。支持基于PCP或者DSCP的PFC功能,在本文实验章节中会有详细描述。
Figure1
PFC帧格式
PFC帧的基本格式如Figure2,其中关于opcode格式内容请参考Figure3。
Figure2
Figure3
PFC帧含义解释:
Figure4
PFC的限制
由于PFC的工作模式是基于队列而并非是flow级别的,因此会存在队头堵塞(head-of-line)的问题。
不公平调度(Unfairness):
如Figure5所示,H1-H4四个发送方,通过rdmawrite消息发送到同一个接收端R,理想情况下,四个发送方应该平等共享T4到R的链路,但实际上在PFC场景下并不是如此。当PFC触发后pause后,它将暂停P2-P4三个入方向的数据流,其中P2方向的数据都是来自于H4,而H1-H3需要共享P3和P4两个入端口,当P1的出方向恢复发送后,H4的数据流可以独享P2的端口,而H1-H3需要在P3和P4的入端口进行竞争,因此H4的带宽始终会高于H1-H3,从而引起了不公平调度。
Figure5
如图Figure6,由于不公平调度的存在,H4的带宽比H1-H3都要高。
Figure6
受害者流(Victimflow):?
如Figure7所示,H11-H14为4个发送端,另外有一条受害者流VS-VR,T4为H11-H14的链路瓶颈,当T4触发反压后,会暂停L3和L4的入方向数据流,依次向上暂停了L1和L2的入方向数据流,最终T1也被迫停止了入方向流量的发送,这时候VS-VR的流量就完全被影响到了。如果加上发送H31和H32两条数据流,VS-VR的影响会更大,这是因为H31和H32在L3和L4上面与H11-H14会竞争带宽。
Figure7
图Figure8,T3下面的发送者越多,被害者流VS-VR的影响越大。
Figure8
PFC死锁
PFC死锁(PFCDeadLock),是指当多个
文档评论(0)