引言
在现代计算机网络中,传输效率和低时延是高性能计算、云计算、分布式存储等应用的关键需求。而远程直接内存访问(RDMA,Remote Direct Memory Access)技术因其高效的数据传输特性,已经成为高性能计算和存储系统的核心技术之一。然而,传统的RDMA协议需要专门的硬件支持和网络环境,这使得它的普及面临一定的挑战。

为了克服这一挑战,RDMA技术在以太网环境中的实现成为了关键,这就是RoCE(RDMA over Converged Ethernet)协议的诞生。RoCE协议使得RDMA能够在标准的以太网设备上运行,从而让RDMA技术的应用范围更广泛,尤其在现代数据中心中得到了越来越多的应用。
本文将深入探讨RoCE协议的工作原理、版本演变以及在实际应用中如何通过高效的拥塞控制机制确保数据传输的高效性,最终使得RDMA能够在各种网络环境中实现无损、低延迟的数据传输。
RDMA技术概述
首先,让我们了解一下什么是RDMA以及它为什么如此重要。

上图的蓝色箭头表示传统经过CPU的访问路径,绿色箭头表示RDMA技术的访问路径。
远程直接内存访问(RDMA)技术允许计算机系统直接访问远程计算机的内存,而无需通过操作系统的干预或网络协议栈的处理。这种方式极大提高了数据传输效率,减少了网络传输的延迟。
RDMA的最大优势在于,它几乎消除了传统网络协议栈中的开销,直接在内存中读取或写入数据,避免了内存复制和操作系统调用的延迟。这使得RDMA在对延迟和带宽有极高要求的应用场景,如大规模并行计算、实时数据处理、分布式数据库等领域,展现了巨大的潜力。
然而,RDMA技术在传统以太网环境下难以实现,因为RDMA通常需要在专用网络(如InfiniBand)上运行,这些网络专为低延迟和高带宽设计,不适用于普通的以太网。为了解决这一问题,RoCE协议应运而生,它将RDMA协议移植到标准以太网上,让RDMA能够在更加广泛的网络环境中运行。
RoCE协议与传统以太网的关系
传统以太网虽然被广泛使用,但并不是为低延迟和高吞吐量设计的。尤其在网络拥塞和流量管理方面,以太网的表现通常无法满足高性能计算和存储的需求。因此,RoCE协议的设计旨在结合以太网的普及性与RDMA的高性能特性。

RoCE协议通过将RDMA数据封装在标准的以太网帧中,使得它可以在普通的以太网设备上运行,而不需要专门的硬件支持。这种设计使得RoCE不仅可以与现有的以太网硬件兼容,还能大幅降低成本,从而使RDMA能够普及到更广泛的应用场景中。
RoCE的版本演变
RoCE协议的发展经历了两个主要版本:RoCEv1和RoCEv2。
1RoCEv1:这个版本的RoCE协议只在L2(数据链路层)上使用以太网头部封装,但在L3(网络层)仍然使用InfiniBand的GRH(Global Routing Header)。这种设计使得RoCEv1只能在局域网(LAN)内使用,无法跨越不同子网进行通信,限制了它的应用场景。据访问需多次内存拷贝,传输时延大;
2RoCEv2:为了弥补RoCEv1的不足,RoCEv2采用了更灵活的设计,改用IP/UDP进行L3封装,使得RoCEv2能够在L3子网之间进行通信。这一改进不仅解决了跨子网通信的问题,还通过UDP协议支持了更高效的负载均衡,从而使得RoCEv2能够在大规模数据中心中广泛应用。

RoCEv2协议的工作原理
RoCEv2协议的核心设计是利用UDP协议来进行数据封装。相比传统的TCP协议,UDP具有较低的开销和更高的传输效率,这使得RoCEv2能够在RDMA应用中提供高效的数据传输。然而,UDP的缺点是它并不保证数据的可靠传输,这就意味着在数据丢失或网络出现问题时,需要额外的机制来确保数据的完整性。
为了解决UDP的缺点,RoCEv2依赖一个Lossless Network(无丢包网络)来确保数据传输的高效性。在这样的网络中,任何丢包都可能导致性能急剧下降,因此确保零丢包是RoCEv2高效运行的前提。
什么是无丢包网络
Lossless Network(无丢包网络)是确保RoCEv2协议能够顺利工作的关键。无丢包网络通过拥塞控制和流量管理机制,防止在数据传输过程中发生丢包现象。RoCEv2对网络的丢包非常敏感,因为丢包会导致RDMA操作中断,进而影响到整个应用的性能。
在传统的以太网中,当数据流量超过网络处理能力时,可能会出现丢包现象。而在RoCEv2中,为了避免这种情况,通常要求网络具备流量控制和拥塞控制的能力。
网络拥塞控制与流量管理
在高性能网络中,网络拥塞是一个常见问题,它会影响数据包的传输效率,导致延迟增加和吞吐量下降。尤其是在RoCEv2协议中,网络拥塞可能导致数据包丢失,而丢包直接影响到RDMA操作,最终影响应用性能。因此,网络拥塞控制是RoCEv2协议设计中的一个关键要素。

拥塞通常发生在网络中的数据传输链路和交换设备上。当大量数据同时传输时,如果交换机的缓存满了,数据就会丢失。此时,流量的增加会导致网络处理能力的下降,进而造成拥塞。
1流量控制:主要用于防止发送方数据流量过快,超出接收方处理能力,从而导致数据丢失。在RoCEv2中,流量控制可以通过网络设备的PFC(Priority Flow Control)机制来实现。
2拥塞控制:拥塞控制则是针对整个网络层面的问题。它主要关注的是网络链路和交换机是否能高效地处理大量数据流。在RoCEv2中,拥塞控制机制帮助在网络开始出现拥塞时调整数据传输的速率,从而避免拥塞的进一步恶化。
RoCEv2协议的拥塞控制通常依赖两种方法:PFC和ECN。
基于优先级的流量控制(PFC)
PFC(Priority Flow Control,优先级流量控制)是为了避免数据包在网络中丢失而采取的一种机制。它的基本工作原理是在发现网络出现拥塞时,通过发送一个“暂停帧”来告诉发送方暂时停止数据的发送,从而为网络腾出空间。PFC的目标是确保高优先级流量(如RDMA流量)能够在拥塞情况下保持优先传输。
PFC的工作流程简述如下:
1数据流量过载:当网络中的某些链路发生拥塞时,交换机会根据流量的优先级做出相应的反应。
2暂停帧:当检测到某些流量达到拥塞阈值时,交换机会发送暂停帧给发送方,通知它停止传输某一优先级的流量。件运行TCP/IP协议栈完成报文封装,导致CPU负载重且CPU性能成为传输带宽、时延等关键性能指标的瓶颈;
3恢复传输:一旦网络中的拥塞得以缓解,交换机会发送恢复帧,通知发送方可以恢复数据的传输。
PFC的优点在于能够有效避免丢包,保证了RoCEv2协议在传输过程中的高效性。然而,PFC也有一些潜在的问题:
1死锁问题:如果多个流量因拥塞同时被暂停,并且这些流量互相依赖,可能会造成数据流无法继续传输,形成“死锁”。
2风暴问题:在网络中大量暂停帧同时涌入可能会引起网络的进一步拥塞,形成所谓的“暂停风暴”,这会导致网络的进一步瘫痪。

尽管如此,PFC仍然是RoCEv2的基础组件之一,特别适合用于在较小的局域网内进行优先级管理。
ECN(显式拥塞通知)技术
ECN(Explicit Congestion Notification)是一种网络层面的技术,旨在更智能地处理网络中的拥塞问题,而不仅仅是依赖暂停帧的流量控制。ECN的设计目的是允许网络设备在出现拥塞时提前向端点发送通知,以便发送端调整其传输速率,而不是等待网络设备发生丢包后才做出反应。

ECN的工作原理非常简单:当网络设备检测到可能的拥塞时,数据包会被标记为“拥塞通知”(CNP,Congestion Notification Packet)。接收端收到带有ECN标记的数据包后,会通知发送端调整数据发送速率。ECN技术有两个主要的优点:
1减少丢包:相比于传统的拥塞控制方法(如丢包和重新传输),ECN通过提前发出拥塞通知,避免了丢包的发生。
2减少延迟:在没有丢包的情况下,数据传输的延迟较低,这对高性能计算和实时应用尤为重要。
虽然ECN能够有效地减轻网络拥塞,但其仍然需要在网络设备和操作系统层面进行广泛的支持。RoCEv2协议中的ECN使得它在处理大规模数据中心内的网络流量时表现更为高效。
DCQCN:量化拥塞通知与多路径传输
DCQCN(Data Center Quantized Congestion Notification)是一种更加高级的拥塞控制算法,专门为高带宽、低延迟的网络环境设计,尤其适用于大规模数据中心。与传统的ECN不同,DCQCN采用了“量化拥塞通知”的方式,通过更加细粒度的控制来平衡流量,从而避免单一流量的过度拥塞。
DCQCN的工作原理如下:
1量化通知:当交换机检测到拥塞时,它会生成一个量化通知包,并通过特定的算法确定数据流量的调整幅度。这种量化通知不仅仅是简单地告诉发送方“减慢”速度,而是通过具体的数值指示如何调整发送速率。
2多路径传输:DCQCN还能够支持多个传输路径的选择,帮助分担网络负载,避免某一路径的过度拥塞。这种多路径的设计使得网络资源的利用更加高效,避免了单一链路的瓶颈。

这种方法有效提高了RoCEv2协议在大规模数据中心和云计算环境中的应用性能,尤其是在处理大量并行数据流时,能够实现更好的带宽利用和流量管理。
RoCEv2的实际应用场景
RoCEv2协议在多个领域都展现了巨大的潜力,尤其在需要高带宽和低延迟的应用场景中,如高性能计算(HPC)、大数据分析、分布式存储系统等。
1高性能计算(HPC):HPC集群往往需要通过RDMA技术来实现节点间的快速数据传输,RoCEv2协议在以太网上的实现,使得HPC系统能够在现有的网络架构上实现低延迟、高吞吐量的网络通信,满足大规模并行计算的需求。
2分布式存储:在大规模分布式存储系统中,数据传输效率是影响系统性能的关键因素。RoCEv2通过高效的数据传输机制,使得分布式存储系统能够在不同节点之间快速地同步数据,减少存储延迟。
3云计算和虚拟化:RoCEv2协议在云计算环境中非常有用,它能够确保虚拟机和容器之间的数据快速交换,尤其在需要实时处理的大数据和流媒体应用中,RoCEv2能够确保网络延迟在最低限度内,从而提高云服务的响应速度和用户体验。
挑战与未来发展
尽管RoCEv2在高性能网络中展现了诸多优势,但AI网络Scale Out互联层面仍面临一些挑战:
1拥塞控制滞后:虽然PFC和ECN能够有效减少拥塞和丢包,但在高并发的网络环境中,控制策略的滞后仍然会影响性能。未来的研究可能会致力于提高拥塞控制的响应速度,减少对网络性能的影响。
2网络管理复杂性:RoCEv2要求网络必须支持无丢包的流量控制,这增加了网络的配置和管理复杂度。随着数据中心规模的扩大,如何有效管理RoCEv2网络将成为一个重要问题。
3RoCE的可能发展:随着网络技术的不断发展,未来可能会出现modernized RoCE等新版本,进一步优化拥塞控制算法和多路径传输性能,以满足未来更为复杂和高带宽的应用需求。
总结
RoCE协议凭借其高效的低延迟数据传输能力,在现代高性能计算和分布式存储系统中扮演着重要角色。且以太网的成熟度、低部署成本、兼容性强和运维便利性,使得RoCE在需要高性能RDMA同时希望控制成本、简化部署的场景(如云计算、AI训练、大数据分析)中越来越受到青睐。RoCE通过结合RDMA和标准以太网的优势,使得RDMA能够广泛应用于多种网络环境。
尽管现有的RoCEv2面临一定的挑战,如PFC风暴、死锁的问题,但我们仍期待,国内外Scale Out生态联盟(UEC、GSE等)齐心协力、共同构建下一代高性能modernized RDMA技术,通过支持多路径传输的数据包喷洒技术、自适应路由、增强重传机制等功能,结合RoCE多种具备竞争力的特点,能够使行业更好地把握未来高性能网络技术的发展趋势,迎接更快速、更高效、更智能的网络时代。
关于我们
AI网络全栈式互联架构产品及解决方案提供商
奇异摩尔,成立于2021年初,是一家行业领先的AI网络全栈式互联产品及解决方案提供商。公司依托于先进的高性能RDMA 和Chiplet技术,创新性地构建了统一互联架构——Kiwi Fabric,专为超大规模AI计算平台量身打造,以满足其对高性能互联的严苛需求。
我们的产品线丰富而全面,涵盖了面向不同层次互联需求的关键产品,如面向北向Scale out网络的AI原生智能网卡、面向南向Scale up网络的GPU片间互联芯粒、以及面向芯片内算力扩展的2.5D/3D IO Die和UCIe Die2Die IP等。这些产品共同构成了全链路互联解决方案,为AI计算提供了坚实的支撑。
奇异摩尔的核心团队汇聚了来自全球半导体行业巨头如NXP、Intel、Broadcom等公司的精英,他们凭借丰富的AI互联产品研发和管理经验,致力于推动技术创新和业务发展。团队拥有超过50个高性能网络及Chiplet量产项目的经验,为公司的产品和服务提供了强有力的技术保障。我们的使命是支持一个更具创造力的芯世界,愿景是让计算变得简单。奇异摩尔以创新为驱动力,技术探索新场景,生态构建新的半导体格局,为高性能AI计算奠定稳固的基石。
-
以太网
+关注
关注
41文章
5923浏览量
179471 -
数据传输
+关注
关注
9文章
2075浏览量
67162 -
计算机网络
+关注
关注
3文章
342浏览量
23247 -
RDMA
+关注
关注
0文章
85浏览量
9556
原文标题:Kiwi Talks|AI网络Scale Out的关键:一文读懂以太网RDMA技术
文章出处:【微信号:奇异摩尔,微信公众号:奇异摩尔】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
一文详解车载以太网
以太网和工业以太网的不同
详解工业以太网
一文详解什么是实时以太网
RDMA技术简介 RDMA的控制通路和数据通路方案
加速网络性能:融合以太网 RDMA (RoCE) 的影响

一文详解以太网RDMA技术
评论