0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RoCE与IB对比分析(二):功能应用篇

星融元 来源:jf_55437772 作者:jf_55437772 2024-11-15 14:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

​【更多详细内容,请访问星融元官网https://asterfusion.com/】
在上一篇中,我们对RoCE、IB的协议栈层级进行了详细的对比分析,二者本质没有不同,但基于实际应用的考量,RoCE在开放性、成本方面更胜一筹。本文我们将继续分析RoCE和IB在拥塞控制、QoS、ECMP三个关键功能中的性能表现。

拥塞控制

拥塞控制即用来减少丢包或者拥塞传播,是传输层的主要功能,但需要借助链路层和网络层的帮助。

RoCEv2 的拥塞控制机制

RoCEv2通过链路层PFC、网络层ECN、传输层DCQCN三者协同配合,实现更高效的拥塞管理,可见,RoCEv2虽然使用了IB的传输层协议,但在拥塞控制方面有所不同。

基于优先级的流量控制(PFC)

PFC在RoCEv2中被用于创建无损的以太网环境,确保RDMA流量不因链路层拥塞而丢失。核心原理是下游控制上游某个通道开启和停止发送数据包,控制方式是发送PFC Pause和Resume帧,触发时机是根据下游SW的ingress的队列数量是否达到某个阈值。

而PFC允许在一条以太网链路上创建8个虚拟通道,并为每条虚拟通道指定一个优先等级,允许单独暂停和重启其中任意一条虚拟通道,同时允许其它虚拟通道的流量无中断通过。这一方法使网络能够为单个虚拟链路创建无丢包类别的服务,使其能够与同一接口上的其它流量类型共存。

图1 PFC工作机制

图1 PFC工作机制

如图1所示,DeviceA发送接口分成了8个优先级队列,DeviceB接收接口有8个接收缓存(buffer),两者一一对应(报文优先级和接口队列存在着一一对应的映射关系),形成了网络中 8 个虚拟化通道,缓存大小不同使得各队列有不同的数据缓存能力。

当DeviceB的接口上某个接收缓存产生拥塞时,超过一定阈值(可设定为端口队列缓存的 1/2、3/4 等比例),DeviceB即向数据进入的方向(上游设备DeviceA)发送反压信号“STOP”,如图中第7个队列。

DeviceA接收到反压信号,会根据反压信号指示停止发送对应优先级队列的报文,并将[数据存储]在本地接口缓存。如果DeviceA本地接口缓存消耗超过阈值,则继续向上游反压,如此一级级反压,直到网络终端设备,从而消除网络节点因拥塞造成的丢包。

显式拥塞通知(ECN)

ECN(Explicit Congestion Notification)是一种IP头部用于的拥塞控制的标记位,允许网络设备在发生拥塞时标记数据包,而不是丢弃它们。

图2 IP头部前4帧示意图

图2 IP头部前4帧示意图

RoCEv2利用ECN位来标记发生拥塞的数据包,接收方在检测到ECN标记后,发送CNP(Congestion Notification Packet)给发送方,后者通过拥塞控制算法(如DCQCN)调整发送速率。

数据中心量化拥塞通知(DCQCN)

DCQCN(Data Center Quantized Congestion Notification)是一种适用于RoCEv2的拥塞控制算法,是数据中心TCP(DCTCP)和量化通知算法的结合,最初在SIGCOMM'15论文"Congestion control for large scale RDMA deployments"中提出。DC-QCN算法依赖于交换机端的ECN标记。结合了ECN和速率限制机制,工作在传输层。当接收方检测到ECN标记时,触发CNP发送给发送方,发送方根据反馈调整发送速率,从而缓解拥塞。

综上,PFC、ECN、DCQCN分别工作在链路层、网络层和传输层。在RoCEv2中,它们被组合使用,以实现更高效的拥塞管理。

  • PFC :防止数据包在链路层被丢弃,提供无损传输,解决一段链路的问题。
  • ECN/DCQCN :发送方根据拥塞标记主动调整发送速率,减轻网络负载。解决端到端网络的问题。

InfiniBand 的拥塞控制机制

InfiniBand 的拥塞控制机制可分为三个主要部分:

基于信用的流量控制

IB在链路层实现基于信用的流量控制(Credit-based Flow Control),该机制实现了无损传输,是 InfiniBand 高性能的基础。发送方根据接收方提供的信用(表示可用缓冲区空间)来控制数据包的发送,接收方在处理完数据包后发送信用给发送方,以允许继续发送新的数据包,从而避免网络拥塞和数据包丢失。

如下图所示,发送方当前可用信用值2,通过流水线传输(pipelined transfer)连续向接收方发送数据包,但此时接收方缓冲区已满,发送方会暂停发送新的数据包,直到接收方发送新的信用。

图3 基于信用的流量控制示意图

图3 基于信用的流量控制示意图

ECN机制

当网络中的交换机或其他设备检测到拥塞时,会在数据包的 IP 头中标记 ECN(Explicit Congestion Notification)。接收方的 CA(Channel Adapter)接收到带有 ECN 标记的数据包后,会生成拥塞通知包(CNP),并将其反馈给发送方,通知其网络出现拥塞需要降低传输速率。

端到端拥塞控制

发送方的 CA 在收到 CNP 后,根据 InfiniBand 拥塞控制算法调整发送速率。发送方首先降低数据发送速率以缓解拥塞,之后逐步恢复发送速率,直到再次检测到拥塞信号。这个动态调整过程帮助维持网络的稳定性和高效性。IBA没有具体定义特定的拥塞控制算法,通常由厂商定制实现。(HCA,Host Channel Adapters,or IB NIC)

图4 端到端拥塞控制示意图

图4 端到端拥塞控制示意图

RoCEv2与IB拥塞控制机制比较

两者的拥塞控制机制比较如下:

RoCEv2InfiniBand
Link LayerPriority-based Flow ControlCredit-based Flow Control
Network LayerECN/CNPECN/CNP
Transport LayerDCQCNVendor-specific Congestion Control

可见,RoCE与IB的拥塞控制机制基本相同,区别在于IB的拥塞控制机制集成度较高,通常由单个厂家提供从网卡到交换机的全套产品,由于厂商锁定,价格高昂。而RoCE的拥塞控制机制基于开放协议,可以由不同厂家的网卡和交换机来配合完成。

随着大规模AI训练和推理集群的扩展,集合通信流量导致了日益严重的拥塞控制问题,由此出现了一些新的拥塞控制技术,如基于In-band Network Telemetry (INT)的HPCC(High Precision Congestion Control),即通过精确的网络遥测来控制流量,以及基于Clear-to-Send (CTS)的Receiver-driven traffic admission,即通过接收方的流量准入控制来管理网络拥塞等。这些新技术在开放的以太网/IP网络上更容易实现。

图5 HPCC流控示意图

图5 HPCC流控示意图

图6 CTS流控示意图

图6 CTS流控示意图

QoS

在RDMA网络中,不光RDMA流量要获得优先保证。一些控制报文,如CNP、INT、CTS,也需要特别对待,以便将这些控制信号无损、优先的传输。

  • RoCEv2的QoS

在链路层,RoCEv2采用ETS机制,为不同的流量分配不同的优先级,为每个优先级提供带宽保证。

在网络层,RoCEv2则使用DSCP,结合PQ、WFQ等队列机制,为不同的流量分配不同的优先级和带宽,实现更精细的QoS。

图7 DSCP示意图

图7 DSCP示意图

  • InfiniBand的QoS

在链路层,IB采用SL、VL及它们之间的映射机制,将高优先级的流量分配到专门的VL,优先传输。虽然VL仲裁表 (VL Arbitration Table)能够通过分配不同的权重来影响和控制带宽的分配,但这种方式不能保证每个VL的带宽。

在网络层,IB的GRH支持8个bit的Traffic Class字段,用于在跨子网的时候提供不同的优先级,但同样无法保证带宽。

由此可见,RoCE能够为不同的流量类型提供更精细的QoS 保证和带宽控制,而 InfiniBand 只能提供优先级调度,而非带宽的明确保障。

ECMP

RoCE的ECMP

数据中心IP网络为了高可靠和可扩展性,通常采用Spine-Leaf等网络架构。它们通常在一对RoCE网卡之间提供了多条等价路径,为了实现负载平衡和提高网络拓扑的利用率,采用ECMP(Equal Cost Multiple Paths) 技术。对于给定的数据包,RoCE交换机使用某些数据包字段上的哈希(Hash)值在可能的多条等价路径中进行选择。由于可靠传输的要求,同一个RDMA操作应当保持在同一个路径中,以避免由于不同路径造成的乱序问题。

在IP网络中,BGP/OSPF等协议均可以在任意拓扑上计算出等价路径,然后由交换机数据平面基于IP/ UDP /TCP等头部字段(如五元组)计算哈希值并轮流转发到不同路径上。在RoCE网络中,为了进一步细分RDMA操作,可以进一步识别BTH头部中的目的QP信息,从而实施更细粒度的ECMP。

InfiniBand的ECMP

在控制平面,IB的路由基于子网管理器,在拓扑发现的基础上实现ECMP,但由于集中式的子网管理器与网络设备分离,可能无法及时感知网络拓扑的变化,进而实现动态的[负载均衡] 。

在数据平面,IB的ECMP同样基于哈希计算和轮转机制。

总结

  • 在拥塞控制方面,RoCE结合了PFC, ECN和DCQCN提供了一套开放的方案,IB则拥有基于Credit的一套高度集成的方案,但在应对大规模集合通信流量时均有所不足。
  • 在QoS方面,RoCE可以实现每个优先级的带宽保证,而IB仅能实现高等级的优先转发。
  • 在ECMP方面,两者均实现了基于Hash的负载分担。

总结来看,IB具备已验证的高性能和低延时优势,RoCEv2则在互操作性、开放性、成本效益方面更胜一筹,且从市场占比及认可度来看,RoCEv2逐渐比肩IB;但不得不承认的是,RoCE和IB在应对大规模AI训练和推理中高带宽、突发式和广播型的集合通信流量时,均有所不足,而RoCE基于其广泛的以太网生态系统,能够更快速地拥抱新技术新协议,其潜力和可塑性更胜一筹,未来有望在网络格局中扮演更重要的角色。


参考文档:

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

https://blog.csdn.net/essencelite/article/details/135492115

https://support.huawei.com/enterprise/zh/doc/EDOC1100075566/d1e17776

https://www.researchgate.net/publication/4195833_Congestion_Control_in_InfiniBand_Networks

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 以太网
    +关注

    关注

    41

    文章

    6324

    浏览量

    182029
  • 协议
    +关注

    关注

    2

    文章

    620

    浏览量

    41290
  • iB
    iB
    +关注

    关注

    0

    文章

    5

    浏览量

    9623
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    IDT Serial RapidIO 交换机特性对比分析

    IDT Serial RapidIO 交换机特性对比分析 在电子工程师的硬件设计工作中,选择合适的交换机对于系统性能至关重要。Integrated Device Technology(IDT
    的头像 发表于 04-14 10:30 224次阅读

    RDMA设计46:RoCE v2原语功能:单边语义

    本博文主要交流设计思路,在本博客已给出相关博文约170,希望对初学者有用。注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP设计。 续上,为便于查看,给出表1部分表1 RoCE v2原语功能
    发表于 03-01 23:14

    RDMA设计45:RoCE v2 原语功能验证与分析2

    本博文主要交流设计思路,在本博客已给出相关博文约170,希望对初学者有用。注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP设计。续上,为便于查看,给出表1部分 表1 RoCE v2原语功能
    发表于 02-26 07:52

    RDMA设计44:RoCE v2原语功能验证与分析

    它是RoCE v2协议进行信息及数据交换的核心机制,也是DUT需要实现的核心机制之一,对该功能的仿真验证需要考虑指令的提交数据包的组装及发送、数据的DMA处理等。
    的头像 发表于 02-25 09:26 445次阅读
    RDMA设计44:<b class='flag-5'>RoCE</b> v2原语<b class='flag-5'>功能</b>验证与<b class='flag-5'>分析</b>

    RDMA设计37:RoCE v2 子系统模型设计

    本博文主要交流设计思路,在本博客已给出相关博文160多,希望对初学者有用。注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP设计。 RoCE v2 子系统模型是用来模拟 RoCE v2
    发表于 02-06 16:19

    RDMA设计33:RoCE v2 接收模块

    本博文主要交流设计思路,在本博客已给出相关博文约160,希望对初学者有用。注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP设计。 与 RoCE v2 发送模块类似,接收模块由五个接收单元和一
    发表于 01-30 10:08

    RDMA设计29:RoCE v2 发送及接收模块设计2

    本博文主要交流设计思路,在本博客已给出相关博文约100,希望对初学者有用。注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP设计。 (1)RoCE v2 发送模块 RoCE v2 发送模块
    发表于 01-26 16:47

    RDMA设计28:RoCE v2 发送及接收模块设计

    本博文主要交流设计思路,在本博客已给出相关博文约100,希望对初学者有用。注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP设计。 RoCE v2 发送及接收模块负责将用户指令组装为 RoCE
    发表于 01-25 10:45

    是德科技34461A与普源数字万用表DM3068与对比分析

    代表性的6½位数字万用表,者均具备高精度、多功能和良好的稳定性,但在性能、功能、用户体验及价格等方面存在显著差异。本文将从多个维度对这两款产品进行对比分析,以帮助用户根据实际需求做出
    的头像 发表于 01-15 16:29 369次阅读
    是德科技34461A与普源数字万用表DM3068与<b class='flag-5'>对比分析</b>

    RDMA设计19:RoCE v2 发送及接收模块设计

    本博文主要交流设计思路,在本博客已给出相关博文约100,希望对初学者有用。注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP设计。 RoCE v2 发送及接收模块负责将用户指令组装
    发表于 01-06 08:08

    无源探头与高压探头技术对比分析

    本文对比分析了无源探头与高压探头的技术原理、性能参数及应用场景,为选择合适探头提供参考。
    的头像 发表于 11-30 15:47 896次阅读

    RDMA设计5:RoCE V2 IP架构

    上面分析,基于RoCE v2 高速数据传输IP 的高速传输应用整体架构如图 1 所示。 图1 基于RoCE V2 IP应用的系统整体架构图 它通过 QSFP28 接口连接上位机进行
    发表于 11-25 10:34

    泰克示波器MDO3000与MDO4000C采样率对比分析

    一、引言 1.1 研究背景与意义 在电子测量领域,示波器采样率至关重要,直接影响波形准确性与完整性。对比分析泰克MDO3000与MDO4000C的采样率,能为用户选择提供关键参考。 1.2 泰克
    的头像 发表于 08-27 17:39 1079次阅读
    泰克示波器MDO3000与MDO4000C采样率<b class='flag-5'>对比分析</b>

    TaskPool和Worker的对比分析

    ,并提高系统的整体性能。 本文将从实现特点和适用场景两个方面来进行TaskPool与Worker的比较。 实现特点对比 表1 TaskPool和Worker的实现特点对比 实现
    发表于 06-18 06:43

    RDMA简介3之四种子协议对比

    协议,与IB协议具有相同的传输层,仅在网络层和链路层与IB协议存在差异。RoCE协议有v1和v2版本,其中RoCE v1只能部署于层网络,
    发表于 06-04 16:05