首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

RoCE网络架构在高性能计算的应用

浅析RoCE在高性能计算的应用

在高性能计算(HPC)系统的发展初期,通常选择专业网络解决方案,如Myrinet、Quadrics和InfiniBand,而不是以太网解决方案。通过定制网络方案可以有效解决以太网解决方案的限制,增强带宽、降低延迟、改善拥塞控制。

2010年,IBTA推出了RoCE协议技术标准,随后于2014年发布了RoCEv2协议技术标准,大幅提升网络带宽。以太网性能的显著提升引起行业对与传统以太网兼容的高性能网络解决方案的日益关注。这种转变打破了以太网在排名前500的HPC集群中使用率下降的趋势,使以太网在排名中保持了重要地位。

InfiniBand在高性能网络领域仍居核心地位,尽管Myrinet和Quadrics已退出主流选择。同时,Cray、天河和Tofulseries等专用网络系列也以其卓越性能在市场中占据重要地位。

RoCE协议简介

RoCE协议是一种集群网络通信协议,它实现在以太网上进行远程直接内存访问(RDMA)。作为TCP/IP协议的特色功能,该协议将数据包的发射/接收任务转移到网络适配器上,改变了系统进入内核模式的需求。

因此它减少与复制、封装和解封装相关的开销,很大程度上降低了以太网通信的延迟。此外它在通信过程中充分利用CPU资源,减轻了网络拥塞,并提高了带宽的有效利用率。RoCE协议包括两个版本:RoCE v1和RoCE v2。RoCE v1作为链路层协议运行,要求通信双方在相同的第2层网络中。相比之下RoCE v2作为网络层协议运行,使得RoCE v2协议数据包可以在第3层进行路由,提供了更好的可扩展性。

RoCE V1协议

RoCE协议融合InfiniBand与以太网技术,保留IB的接口与传输层,同时引入以太网链路层与网络层。RoCE数据包以0x8915为以太网类型标识,但舍弃以太网网络层,因此缺乏IP字段。这一设计使得RoCE数据包无法在网络层进行路由,仅适用于第2层网络传输,展现了其独特的数据传输特性。

RoCE V2协议

RoCE v2协议在原有基础上进行了显著优化,通过融合以太网网络层与UDP传输层,革新了RoCE协议的InfiniBand网络层。其独特之处在于,借助以太网网络层中IP数据报的DSCP和ECN字段,实现了高效的拥塞控制,赋予了数据包路由能力,极大地提升了可扩展性。因此,如今提及RoCE协议,多指RoCE v2,除非特指第一代RoCE。

无丢包网络和RoCE拥塞控制机制

在基于RoCE协议网络中,确保RoCE流量的无缝传输至关重要。在RDMA通信过程中,数据包必须无丢失且按正确顺序到达目的地。任何数据包丢失或乱序到达的情况都需要进行“回退N”的重传操作,并且预期到达的后续数据包不应存储在缓存中。RoCE协议实现了一个双重拥塞控制机制:初始阶段利用DCQCN进行逐步减速,然后利用PFC进入传输暂停阶段。

尽管严格将其划分为拥塞控制策略和流量控制策略,但通常被认为是拥塞控制的两个阶段。在网络中涉及多对一通信的应用场景中,经常会出现拥塞问题,表现为交换机端口上待发送缓冲区消息总大小的迅速增加。在无控制的情况下,可能导致缓冲区饱和,从而导致数据包丢失。因此在初始阶段,当交换机检测到端口上待发送缓冲区消息的总大小达到特定阈值时,它会标记RoCE数据包的IP层中的ECN字段。收到这个数据包后,如果接收方观察到交换机标记的ECN字段,它会向发射方发送一个拥塞通知数据包(CNP),促使发射方降低发送速率。

在达到ECN字段阈值时,并不是所有的数据包都会被标记。在这个过程中,两个参数Kmin和Kmax起着重要作用。当拥塞队列长度低于Kmin时,不会进行标记。当队列长度在Kmin和Kmax之间变化时,随着队列长度的增加,标记的概率也会增加。如果队列长度超过Kmax,所有的数据包都会被标记。

接收方并不会为每个接收到的带有ECN标记的数据包发送一个CNP数据包,而是在每个时间间隔内接收到带有ECN标记的数据包后,发送一个CNP数据包。通过这种方式,发送方可以根据接收到的CNP数据包数量来调整发送速度,从而避免过多的数据包被标记和丢失。这种动态的拥塞控制机制可以提供更有效的流量调节和更可靠的数据传输。

在网络拥塞加剧时,若交换机检测到某端口待发送队列超出设定阈值,会立即向上游发送方传递PFC帧,从而暂停数据传输,直至拥塞缓解。一旦网络恢复通畅,交换机会再次发送PFC控制帧,通知上游恢复传输。PFC流控技术能在不同流量通道上实施暂停,且可调整各通道的带宽占比,实现精准控制。这一特性使得单一通道的流量暂停不会干扰其他通道的数据传输,确保了网络传输的高效与稳定。

ROCE & Soft-RoCE

在高性能以太网网卡领域,虽然现在大多数采用RoCE协议,但仍有在特定情况下某些网卡不支持RoCE。为了填补这一空白,IBIV、迈络思(Mellanox)和其品牌的合作,催生了开源项目Soft-RoCE。这个项目适用于设备不支持RoCE协议的节点,使它们能够与设备RoCE支持的节点一起使用Soft-RoCE进行通信,如图所示,尽管可能不会提升前者的性能,但它可以使后者充分发挥其性能优势。

尤其是在数据中心等应用场景中,将升级限制在具有RoCE支持的以太网卡的高I/O存储服务器上,可以显著提高整体性能和可扩展性。此外RoCE和Soft-RoCE的组合适应了逐步集群升级的需求,避免了同时进行全面升级的必要性。

高性能计算(HPC)环境中实施RoCE时面临挑战

高性能计算(HPC)网络的基本要求

高性能计算(HPC)网络的核心在于低延迟及其动态保持。RoCE技术针对低延迟问题,通过卸载网络操作至网卡,显著减少CPU占用,实现高效低延迟。面对动态流量挑战,拥塞控制成为关键。然而,高度动态的HPC流量模式对RoCE提出了严峻挑战,亟待优化以克服性能瓶颈。

ROCE的低延迟

相较于传统的TCP/IP网络,InfiniBand与RoCEv2通过绕过内核协议栈,显著提升了网络延迟性能。实证数据显示,此举可将集群内应用层的端到端延迟由TCP/IP的50μs大幅降至RoCE的5μs,甚至可达InfiniBand的2μs,效能显著。

RoCE数据包结构

假设我们要使用RoCE发送1字节的数据,封装这个1字节数据包的额外开销如下:以太网链路层:14字节MAC头 + 4字节CRC 以太网IP层:20字节 以太网UDP层:8字节 IB传输层:12字节基本传输报头(BTH) 总计:58字节 假设我们要使用IB发送1字节的数据,封装这个1字节数据包的额外开销如下:IB链路层:8字节本地路由头(LHR)+ 6字节CRC IB网络层:0字节(当只有2层网络时,链路层的链路下一头部(LNH)字段可以表示该数据包没有网络层) IB传输层:12字节基本传输报头(BTH) 总计:26字节如果是自定义网络,数据包结构可以进一步简化。例如,天河-1A的迷你数据包(MP)头部由8字节组成。

由此可见,以太网底层结构的复杂性是将RoCE应用于HPC的障碍之一。数据中心的以太网交换机通常需要具备如SDN、QoS等其他功能,这些功能的实现需要额外的成本。关于这些以太网功能,以太网和RoCE是否与这些功能兼容?同时这些功能是否会影响RoCE的性能?

RoCE拥塞控制面临的挑战

RoCE协议的两个方面中的拥塞控制机制都面临着特定的挑战,这些挑战可能会妨碍在动态流量模式下保持低延迟。优先级流量控制(PFC)依赖于暂停控制帧来防止接收过多的数据包,这种策略容易导致数据包丢失。与基于信用的方法不同,PFC往往导致较低的缓冲区利用率,对于具有有限缓冲区的交换机来说尤为具有挑战性,通常与较低的延迟相关。

相反,基于信用的方法提供了更精确的缓冲区管理。RoCE中的数据中心量化拥塞通知(DCQCN),类似于InfiniBand的拥塞控制,采用了反向通知的方式,将拥塞信息传递给目的地,然后返回给发射方进行速率限制。RoCE遵循一组固定的减速和加速策略公式,而InfiniBand允许自定义策略,提供更大的灵活性。

虽然通常使用默认配置,但有自定义选项是更适用。测试中最多每N=50μs生成一个拥塞通知包(CNP),将这个值降低的可行性尚不确定。在InfiniBand中,CCTI_Timer的最低设置可以达到1.024μs,但实际实现这样小的值尚未确定。从拥塞点直接将拥塞信息返回给源端,这被称为前向通知。虽然可以根据以太网规范了解其限制,但关于InfiniBand未采用这种方法的具体原因,仍存在疑问。

RoCE在高性能计算(HPC)中的应用

美国最新的超级计算机采用Slingshot网络,这是一种增强版的以太网。该网络利用与传统以太网兼容的Rosetta交换机,解决了RoCE的特定限制。当链路的两端支持专用设备(如网卡和Rosetta交换机)时,可以实现网络增强。这些功能包括将IP数据包帧大小最小化为32字节,与相邻交换机共享队列占用信息,并实施改进的拥塞控制。虽然平均交换机延迟为350ns,相当于高性能以太网交换机,但低于InfiniBand(IB)和一些专用超级计算机的交换机实现的延迟,如的Cray XC超级计算机交换机。

在实际应用中,Slingshot网络表现出可靠的性能。《Slingshot互连的深入分析》一文中主要将其与之前的Cray超级计算机进行了比较,而没有与InfiniBand进行直接比较。此外CESM和GROMACS应用程序通过使用低延迟的25G以太网和带宽更高的100G以太网进行测试。尽管这两种网络之间的带宽差异达到了四倍,但测试结果为它们的性能进行了有价值的比较。

结论

飞速(FS)凭借专业团队赢得客户信赖,但在高性能计算(HPC)的RoCE技术应用中面临挑战,我们致力于攻克难关,以技术实力为客户创造更多价值。

-对此,您有什么看法见解?-

-欢迎在评论区留言探讨和分享。-

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OjrHDPm2eCgI_uaA7NkkZmXw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券