Skip to main content
开放网络的先行者与推动者—星融元
加入我们技术支持(Support)  TEL:(+86)4000989811

标签: 科普-RDMA

RoCE 无损以太网与简化 RoCE:性能与成本的博弈

近期文章


RDMA 网络技术是什么?

RDMA(远程直接内存访问)是一种网络通信技术,允许计算机直接访问远端主机内存,绕过操作系统内核和CPU干预,实现超低延迟、高吞吐量的数据传输。其核心机制包括零拷贝(消除数据缓冲复制)、内核旁路(减少软件栈开销)及网络协议卸载(由网卡硬件处理通信协议)。该技术最初用于高性能计算(HPC)存储网络,后扩展至云计算AI训练等场景。

主流协议

图1 RDMA网络技术原理

(RDMA) 技术允许设备直接读/写应用程序的内存,而无需与 CPU 或作系统交互,从而实现更高的吞吐量和更低的延迟。应用程序可以直接对网络设备进行编程,以对应用程序内存执行 DMA。

RDMA

图中,PoD1网络设备直接通过HCA(是RDMA专用的硬件组件)访问PoD2网络设备,绕过内核协议栈,实现零拷贝和低延迟。以下是RDMA三种主流协议:

InfiniBand(IB):

  • 原生支持RDMA,需专用InfiniBand网络设备和交换机。
  • 提供物理层到传输层的完整协议栈。

RoCE(RDMA over Converged Ethernet):

  • 在以太网上运行RDMA,分为RoCEv1(基于以太网链路层(不支持3层转发)和RoCEv2(基于UDP/IP)。
  • 依赖无损网络(通过PFC和ECN实现流量控制)。

iWARP(Internet Wide-Area RDMA Protocol):

  • 基于TCP/IP协议栈,支持广域网环境。
  • 通过TOE(TCP Offload Engine)将TCP处理卸载到网卡。

三种网络传输协议的优势和劣势对比表:

协议优势劣势
InfiniBand1.超低延迟:原生支持RDMA,延迟极低。
2. 高吞吐量:支持超高速传输(如EDR/HDR速率)。
3. 无损网络:基于Credit机制,无需额外流控。
4. 高扩展性:专为高性能计算(HPC)优化。
1.成本高:需专用硬件(网卡、交换机)。
2. 兼容性差:与现有以太网设施不互通。
3. 部署复杂:需独立网络架构。
RoCE1.基于以太网:兼容现有以太网基础设施,降低成本。
2. 支持RDMA:在以太网上实现低延迟传输。
3. 灵活路由:RoCEv2支持IP层路由。
1.依赖无损网络:需PFC、ECN等流控,配置复杂。
2. 拥塞敏感:网络拥塞时性能下降明显。
3. 硬件要求:需支持RoCE的专用网卡。
iWARP1.基于TCP/IP:兼容传统TCP网络,无需改造基础设施。
2. 抗拥塞:利用TCP可靠性机制,适应复杂网络环境。
3. 部署灵活:支持标准以太网交换机。
1.性能较低:TCP协议栈引入额外延迟和开销。
2. 吞吐量限制:相比InfiniBand和RoCE,带宽利用率较低。
3. 生态支持弱:硬件和软件支持较少。

RoCE基于以太网实现远程直接内存访问(RDMA),旨在通过绕行内核协议栈提升数据传输效率,成为高性能计算、分布式存储和AI训练场景的热门选择。然而,其核心设计依赖无损网络和特定硬件支持,导致实际部署面临显著挑战:

  1. 配置复杂性:需手动协调PFC(流量控制)、ECN(拥塞通知)和QoS策略,跨厂商设备兼容性差,运维门槛高;
  2. 网络僵化风险:PFC的逐跳反压机制可能引发广播风暴或死锁,大规模组网时稳定性存疑;
  3. 扩展性限制:RoCEv1局限于二层网络,RoCEv2虽支持三层但受限于UDP/IP的封装开销和路由延迟,跨数据中心场景性能易波动。

这些劣势促使业界探索自动化配置工具(如星融元“一键RoCE”)和软硬件协同优化方案,以平衡性能与部署成本。

星融元RoCE无损以太网

星融元通过其创新的一键RoCE功能和智能拥塞管理方案,显著简化了RoCEv2网络的配置流程并有效解决了网络拥塞导致的性能下降问题。以下是具体实现方式和优化策略:

如何通过一键RoCE简化配置流程?

1. 一键式命令封装:传统RoCEv2网络需手动配置PFC(基于优先级的流量控制)和ECN(显式拥塞通知)等复杂参数,涉及多步骤QoS策略调整。星融元的AsterNOS操作系统通过业务级命令行封装,将原子级配置整合为单条命令(如show roce),实现一键启用或关闭无损网络功能,极大降低工程师的操作复杂度。

2. 集中化配置与状态展示

  • 全局视图管理:通过show roce命令,可集中查看全网的RoCE配置状态、队列映射、Buffer使用情况、PFC/ECN触发次数等,无需逐台设备执行多个命令。
  • 业务级参数调优:针对不同业务场景(如HPC或存储),提供默认模板配置,同时也支持通过QoS命令行精细调整PFC和ECN参数,满足定制化需求。

3. 兼容性与易用性增强

  • 思科风格命令行(KLISH):AsterNOS支持传统CLI操作习惯,降低学习成本。
  • 自动化部署工具:结合RESTful API和零接触部署(ZTP),实现网络快速上线,减少人工干预。

如何解决网络拥塞时的性能下降?

PFC工作流程

1. PFC+ECN的无损保障机制

  • PFC(优先级流量控制):为存储等高优先级流量划分独立队列,当检测到队列拥塞时,触发暂停帧(Pause Frame)避免丢包。
  • ECN(显式拥塞通知):在IP头部标记拥塞状态,通过CNP(拥塞通知包)反馈至发送端,动态调整流量注入速率,防止拥塞扩散。

2. 硬件与架构优化

  • 超低时延交换机(CX-N系列):Port-to-Port转发时延低至400ns,支持高密100G/400G端口,减少存储集群内部通信跳数(不超过3跳),降低端到端时延。
  • Spine-Leaf架构设计:通过扁平化组网优化流量路径,避免传统多层架构的瓶颈。

3. 可视化监控与快速排障

  • Prometheus集成:通过容器化监控工具roce_exporter,实时采集RoCE网络指标(如拥塞次数、CNP触发频率),实现可视化分析。
  • 故障集中定位:使用show roce命令聚合关键调试信息,快速定位拥塞源或配置错误,缩短排障时间。

应用场景与效果

  • 分布式存储网络:在存算分离场景中,通过RoCEv2+PFC+ECN构建零丢包、低时延的后端存储网络,加速多副本同步与数据重建。
  • 高性能计算(HPC):支持大规模并行计算任务,通过无损网络减少通信延迟,提升算力集群效率。
  • 云数据中心:在混合业务负载下(存储、计算、AI),通过优先级隔离和动态拥塞控制,保障关键业务SLA。

性能测试:https://asterfusion.com/blog20241011-roce-test-report/

【参考文献】

返回资源中心

最新动态

RoCE是人工智能网络的最佳选择吗?


更多相关内容

推荐阅读


一提到人工智能网络,很多人就想到InInfiniBand(缩写为 IB),IB是一个用于高性能计算的计算机网络通信标准,它具有极高的吞吐量和极低的延迟,用于计算机与计算机之间的数据互连。InfiniBand 也用作服务器与存储系统之间的直接或交换互连,以及存储系统之间的互连。实际上RDMA作为一种新技术,是人工智能网络的新方向,也逐步被更多人认可。

RDMA技术最早用于IB(Infiniband)组网,以通过构建无损网络实现HPC高性能计算集群的互联。不过,由于IB组网采用专有网络协议栈,存在技术封闭、兼容性低、单一厂商垄断等问题。为此,业界将RDMA技术移植到以太网上,推出了基于以太网的RoCE(RDMA over Converged Ethernet)协议,并将之演进到RoCE v2版本,从而推动了RDMA技术普及。

RoCEv2是什么?

RDMA技术与RoCE网络简介

RDMA (Remote Direct Memory Access)技术是一种基于网络的内存访问技术,它允许内存数据在计算机之间直接传输,而无需CPU或操作系统的参与,解放了内存带宽和CPU周期、改进应用系统性能,使得节点间的通信拥有更低的延迟和更高的吞吐量。目前,RDMA技术被广泛应用于超算、AI训练、存储等多个高性能场景。
RDMA技术实现路线包含以下三种:

  • InfiniBand:最早实现的RDMA技术;
  • RoCE (RDMA over Converged Ethernet):基于普通以太网的RDMA技术;
  • iWARP:即Internet Wide Area RDMA Protocol,基于TCP/IP协议栈的RDMA技术。

RDMA最早是在InfiniBand网络上实现,被广泛应用到高性能计算中、但需要专用的、支持该技术的网卡和交换机,价格非常昂贵。后来为降低RDMA的使用成本、推动RDMA技术普及,发展出了通过以太网承载RDMA的网络协议——iWARP和ROCE,而ROCE 又包括ROCEV1和ROCEV2两个版本。

RoCEv1是基于以太网链路层实现的,通过交换机上PFC等流控技术,在物理层保证可靠传输,而ROCEV2是以太网TCP/IP协议中UDP层实现,解决了扩展性问问题,弥补InfiniBand技术的一些限制,使RDMA技术可以更广泛地应用于数据中心和云计算等领域。同时,RoCEv2技术的发展也可以促进RDMA技术的标准化和推广,从而使RDMA技术更加普及和易于使用。

《关于一键配置ROCE的网络技术白皮书》

1. Asterfusion的解决方案:一键RoCE

为简化无损以太网部署和运维的难度,星融元Asterfusion在AsterNOS网络操作系统上推出“一键RoCE”功能,针对RoCEv2场景的配置需求进行设计规划,实现了业务级的命令行封装,以达到RoCEv2场景下最佳的可维护性和可用性。

2. 功能介绍

2.1 一键启用PFC和ECN,完成无损以太网配置

在没有一键RoCE配置命令行时,一线实施和运维工程师配置无损以太网或者取消配置,需要分别对PFC和ECN功能进行配置,这要求工程师深刻理解以太网的QoS技术和配置逻辑。

有了一键RoCE配置命令行后,工程师可以通过一条命令行完成无损以太网的配置,不需要再使用原子级的命令行,分别对PFC和ECN功能进行配置。

PFC和ECN功能配置

2.2 无损以太网的配置和运行状态,集中展示

以前运维无损以太网时,如果想要进行网络异常定位或者运行状态检查,通常需要到不同命令行视图下进行执行多次show命令,以确定当前的队列映射关系、Buffer使用情况、PFC和ECN在哪个队列中被启用、各种门限的数值、PFC和ECN所在队列的吞吐量、Pause和CNP报文的触发次数等信息。

现在工程师可以通过show roce系列命令行,一键式地查看全局的RoCE信息、端口的RoCE信息和计数,以及对RoCE相关计数进行统一清零。

# 查看RoCE相关的配置信息

命令行

命令行

#查看具体端口的RoCE计数信息

命令行

#清除所有RoCE相关计数
sonic# clear counters qos roce

2.3 不同业务场景下的参数调优

通过一键RoCE命令行,可以快速配置无损以太网,当业务场景不满足于设备提供的默认配置时,工程师还可以通过QoS配置命令行精细化地调试PFC和ECN的各项参数,让业务性能达到最优。

3. 应用场景

3.1 简化高性能计算和存储网络的部署

高性能计算和存储业务场景中,工程师通常对业务非常熟悉,集中精力在服务器侧做配置调优。对于网络,通常提出的要求是“需要一张高可用、高性能的无损以太网”。这种情况,高性能计算和存储工程师,可以通过一键RoCE命令行,快速完成无损以太网配置部署。

这种业务级命令行的封装,将多个原子级命令行进行组合,简化配置流程,节省工程师的时间和精力去完成更有价值的业务侧优化。

3.2 快速定位无损以太网的瓶颈和故障

show roce业务级命令行将多个原子级命令行组合成一个语义完整的业务命令,能把RoCE相关的调试信息组织起来集中展示。

在排查网络故障时,使用show roce一次性查询与无损以太网相关的所有配置信息、运行状态,不需要再逐个执行原子级命令行进行查询。从而简化排障流程,提高排障效率。

结论:人工智能数据中心如何从InfiniBand和RoCE中进行选择?

虽然 InfiniBand 预计将保持领先地位,但根据 Dell’Oro Group 发布的最新 AI Networks for AI Workloads 报告,预计以太网将取得可观的收益,例如到 2027 年将达到 20 个收入分成点。

对于那些在 RoCE 和 Infiniband 之间做出选择的企业,应考虑其独特的要求和成本。如果他们更喜欢最高性能的网络连接,Infiniband 会更好。而对于那些寻求最佳性能、易于管理和有限成本的人来说,他们应该为他们的数据中心选择 RoCE。

最后让我们再看IB和RoCE测试数据的对比:

 InfiniBandRoCE
端对端时延100 ns230~500 ns
流量控制利用基于信用的信令机制来避免缓冲区溢出和数据包丢失,确保HCA到HCA的无损通信。依靠无损以太网,通常通过以太网流量控制或优先级流量控制(PFC)进行配置,以达到与InfiniBand类似的性能特征
转发模式基于本地ID转发基于IP的转发
可扩展性强,Infiniband的单个子网可以支持数以万计的节点。它还提供了一个相对简单且可扩展的体系结构,可以使用Infiniband路由器创建几乎无限的集群大小。强,RoCEv2基于UDP,具有良好的跨网段可扩展性,是一种大规模采用的解决方案。RoCE支持网络拓扑的动态创建和调整,使其能够适应不同规模数据中心的需求。
可靠性通过结合自适应路由的InfiniBand专有协议实现实现了基于IP的ECMP机制。此外,RoCE支持纠错和重传机制,进一步提高了数据传输的可靠性。
成本非常昂贵:服务器需要专用的IB NIC、专用的IB交换机来构建专用网络,通常是普通网络设备成本的五到十倍,并且只考虑在金融和期货交易等高调环境中使用"低成本
高性价比
RoCEv2数据中心交换机
比IB交换机价格便宜很多"

返回资源中心

服务于RDMA应用的融合增强型以太网

更多相关内容


RoCE应用在以太网中通信时,通信质量最重要的两个衡量指标主要是高带宽和低延迟。

高带宽由硬件设备本身决定,延迟主要包括:处理延迟和网络传输延迟,可以通过一些技术手段来改善。处理延迟开销指的就是消息在发送和接收阶段的处理时间,在第一章节中介绍的RDMA可以大幅度降低服务器处理延迟;网络传输延迟指的就是消息从发送方到接收方的网络传输时延,

如果网络通信状况很好的情况下,网络基本上可以达到高带宽和低延迟,但网络通信状况需要利用网络中的各种流量控制、拥塞控制、高可靠等机制来保驾护航。在传统以太网中我们可以采用QoS技术来实现业务流量的服务质量保障,但是存储RoCE流量、计算RoCE流量等对于网络服务质量的需求以太网的QoS无法满足,且存在较大的差异:

  • 存储RoCE流量对丢包很敏感,且要求报文在传输过程中是保序的;
  • 业务RoCE流量允许一定的丢包和时延,只需要设备提供尽力而为的服务;
  • 计算RoCE流量用于高性能服务器之间的通信,流量要求低时延。

于是为了保障融合网络的网络性能、满足各种类型的RoCE流量对网络服务质量的需求,需要应用和发展一些新兴的融合网络技术。

面对不同类型的RoCE流提出的需求,传统以太网显得无能为力

传输RDMA的三个技术中,IB网络可以实现无损通信,能够完全满足RDMA对网络性能的需求,但是需要搭建专用的IB网络,成本太高;而RoCE可以实现RDMA在以太网上的承载,且建设、管理、运维等方面的成本低廉,但为了达到InfiniBand相近的性能要求,需要为RoCEv2流量建设无损的传输网络。无损以太网具备低时延、零丢包和高吞吐等特性,而针对以上几点需求传统以太网的QoS技术却显得无能为力:

  1. RoCEv2是基于UDP的不可靠传输,发生拥塞时会主动丢弃报文,且无报文重传机制,无法保证零丢包,因此无法保障RDMA流量的可靠性;
  2. CEE中存在多种流量类型,每一种类型的流量对网络质量有着不同的需求,任何一种类型的流量拥塞,都会对RoCE流量造成影响,导致RoCE流量的延时和丢包。原因是传统以太网的QoS技术在发生拥塞时,设备会发送Jamming信号或者Pause帧去干扰或者阻止上游设备发送端口的流量发送,该流控机制是基于端口的,因此不论是发生拥塞的流量还是RoCE流量或是其他流量都会被阻塞掉。

构建融合增强型以太网CEE

RDMA巧遇及时雨“CEE”,解决网络时延和丢包难题

在RDMA不断发展的同时,数据中心也在不断发生变化,计算云化、存储云化的快速普及使数据中心网络流量由“南北”为主转变为“东西”为主,如何保证数据在网络中更快、更高效的传输,成为提高数据中心性能的关键所在。

早期,数据中心建设者为了获得高性能的计算环境,会同时运营多张网络:

  • 用于IP联网的业务网络(如以太网)
  • 用于存储的存储网络(如FCSAN、IPSAN、FCoE、IB)
  • 用于高性能计算的计算网络(如IB)等。

为了降低部署复杂度和管理难度,降低人员的技术要求以及高昂的建设费用,业界提出了将三张网络融合成一张网络的建设方案,即构建融合增强型以太网CEE(Convergence Enhanced Ethernet)。

但在融合网络中,数据中心又面临了“使用相同的以太网物理基础设施传送特性差异较大的不同类型流量时,需要满足其不同的QoS需求”这一问题,于是IEEE 802.1工作组在2008-2010年期间定义了一组以太网扩展协议,即数据中心桥DCB(Data Center Bridging)协议。通过利用DCB构建CEE可满足融合网络中各种类型流量对时延、丢包和吞吐率的不同需求。

DCB标准出现后不久,IBTA发布了RoCEv1,同时还建议RoCE需要承载于CEE之上去保障其网络服务质量。RoCEv1与CEE的结合虽然可以保证在CEE中高可靠的传输RDMA流量,但是却受限于二层广播域。于是在2014年,IBTA对RoCEv1做了一些改进,引入了UDP/IP协议,使RDMA流量可以跨越三层,在路由器间路由,相比于TCP,UDP更加高效且适用于各种交互场景。

由于DCB中的拥塞通知协议工作在二层,所以IBTA在定义RoCEv2的同时还定义了显示拥塞通知ECN(Explicit Congestion Notification)协议,为RoCEv2流量在三层的路由转发提供高可靠性保障。至此,CEE、ECN的结合可解决CEE中RoCE流量的时延和丢包难题。

RDMA巧遇及时雨“CEE”,解决网络时延和丢包难题

图7:RDMA巧遇及时雨“CEE”,解决网络时延和丢包难题

融合增强型以太网CEE:IEEE802.1 DCB & ECN

随着各种应用在云平台上不断被部署和使用,以低延时、零丢包、高吞吐为目的融合增强型以太网CEE将更好为应用和租户提升云平台在计算、存储等各方面的网络性能。构建CEE的DCB协议组是由IEEE802.1工作组定义的一组以太网扩展协议,包含四个标准协议,分别为IEEE 802.1Qbb Priority-based Flow Control(PFC)、IEEE 802.1Qaz Enhanced Transmission Selection(ETS)、IEEE 802.1Qaz Data Center Bridging eXchange(DCBX)、IEEE 802.Qau Congestion Notification(CN)。由于CN工作于二层,所以IBTA在定义RoCEv2的同时也定义了可工作于三层的拥塞通知协议ECN(Explicit Congestion Notification)。

DCB协议组和ECN协议对比

标准协议 技术特点
IEEE802.1 Data Center Bridging(DCB)IEEE 802.1Qbb Priority-based Flow Control(PFC)用于满足三种流量在以太网中共存时,存储流量无丢包,且对其它的两种流量无影响的要求
IEEE 802.1Qaz Enhanced Transmission Selection(ETS)用于避免一种流量类型的大规模流量突发对其它流量类型产生影响,为不同的流量类型提供最小带宽保证。一种流量类型只有在其它流量类型带宽不占用的情况下,才能使用分配带宽之外的额外带宽。这使多种流量类型可在同一网络中和谐共存
IEEE 802.1Qaz Data Center Bridging eXchange(DCBX)IEEE 802.1Qaz定义了两部分协议,一个是ETS,另一个就是DCBX。DCBX是基于LLDP(Link Layer Discovery Protocol)的扩展协议,用于在设备间自动协商并配置PFC、ETS及CN等
IEEE 802.Qau Congestion Notification(CN)用于降低引起拥塞的端点站的报文发送速率,从根源上避免拥塞,以保持网络的畅通,解决因拥塞引发报文重传或流量控制,导致报文时延增加的问题
Explicit Congestion Notification(ECN) 用于当设备的转发队列中的报文超过ECN门限时,向宿端服务器发送携带ECN标记的报文以告知宿端设备网络中出现拥塞。而宿端设备收到携带ECN标记的报文后会向源端服务器发送CNP(Congestion Notification Protocol)拥塞通知报文,以通知源端服务器进行流量降速,以达到消除拥塞的目的,保持网络通畅

DCB和ECN技术得到了数据中心网络厂商的认同后进行了大量部署,这加快了数据中心网络融合的进程。而网络融合可以带来非常多的优势:

  1. 可以便于管理,一次连接服务器,光纤存储和以太网共享同一个端口,需要更少的线缆和适配器,简化系统的复杂性;
  2. 数据中心不再需要部署多类技术人才,只需要懂以太网技术的人员即可;
  3. 大幅降低数据中心网络建设成本,不仅包括网络基础设施的建设,还包括线缆、监控、散热、管理等其它附加费用。所以网络融合将成为数据中心网络发展的必然趋势。

融合增强型以太网解决方案>>>>>

返回资源中心

RDMA四个发展阶段的技术特点

更多相关内容


支持RDMA的协议特点
IB1) 建设成本高昂,服务器需要专用的IB网卡,专用的IB交换机搭建专用网络,一般是普通网络设备的五到十倍,只有在金融、期货交易等环境中才会考虑使用;
2) 网络基础设施增多使相应的配套设施增加,如线缆、模块、监控、环动、电耗等;
3) InfiniBand网络具备高带宽、无丢包、配置和运维简单等优势;
4) InfiniBand交换机的延迟始终低于以太网交换机,一种特定类型的以太网交换机的端口到端口延迟为230ns,而具有相同端口数量的InfiniBand交换机的端口到端口延迟为100ns。
iWARP1) iWARP协议较复杂,包含DDP、MPA和RDMAP三层子协议;
2) 基于TCP提供可靠的服务,但拥塞控制机制复杂,重传机制导致时延增大;
3) TCP需建立连接,工作效率低,且只能适用于点到点的场景,不适合多播场景;
4) 在大规模数据中心和大规模应用程序的场景中,大量的TCP连接会占用较多的系统资源(TCP流量将导致接近100%的CPU资源被占用),影响网络扩展性和性能;
5) iWARP与传统TCP流共享协议号空间,因此需要使用上下文状态来确定数据包是否为iWARP,增加处理延时;
6) iWARP是一个全新的协议,所以服务器网卡需要支持该协议;
7) 未被市场广泛采用,且目前只有Chelsio一家供应商的产品支持iWARP。
RoCEv11) RoCEv1承载于以太网之上,大幅度降低数据中心网络建设成本;
2) RDMA只能在同一以太网广播域中通信,可伸缩性受限;
3) RoCEv1依赖无损以太网,保障RDMA的低时延、零丢包和高可靠;
4) 无损以太网配置较IB网络更加复杂,运维也更加复杂。
RoCEv21) 引入IP解决了网络扩展性问题,可以在三层间路由;引入UDP解决负载均衡的问题,提高网络利用率;
2) RoCEv2依赖无损以太网,并定义了拥塞控制协议ECN,保障低时延、零丢包和高可靠;
3) UDP是无连接的,高效,具有较好的实时性,且支持一对一,一对多,多对一和多对多的交互通信;
4) UDP具有较少的开销,占用较少的系统资源,网络扩展性和性能不受影响;
5) 根据UDP端口号可以快速识别RoCE流,处理时延低。

通过对支持RDMA网络协议的分析,将三种技术的特点归纳为性能、延时、成本、可靠性、稳定性、配置/运维复杂度以及支持厂商等几个市场比较关心的点进行优劣势对比,更加简明、直观,如表2所示:

优劣势对比

特性IBiWARPRoCEv1RoCEv2
标准组织IBTAIETFIBTAIBTA
L2/L3网络环境IB专网L3TCP/IP以太网L3以太网L2UDP/IP以太网L3
交互场景一对一,一对多,多对一,多对多一对一一对一,一对多,多对一,多对多一对一,一对多,多对一,多对多
性能(吞吐率)
延时
成本
可靠性/稳定性
CPU占用率
配置/运维简单中等较复杂较复杂
支持厂商IBM/Microsoft/Intel/Wintel/HP/Dell/Sun等70多家,目前已所剩无几Intel/Chelsio等Mellanox/Emulex/Broadcom/QLogic/Cavium/Huawei/ATTO Technology等
Marvel/Microsoft/Linux/Kazan等两个都支持

传统模式 与RDMA模式对比图通过上述对比得出,RoCE相对于iWARP有着明显的优势,因此RoCE被很多主流厂商的方案所支持,成为该领域的发展方向。而在RoCE流量的传输中,网络的传输性能和质量直接影响了RDMA应用的体验,承载RoCE流量的以太网的建设就变得非常重要。

返回资源中心

网络融合大趋势下RDMA的发展演进过程

更多相关内容


RDMAC(RDMA Consortium)和IBTA(InfiniBand Trade Association)主导了RDMA。其中,IBTA是InfiniBand的全部标准制定者,并补充了RoCEv1/v2的标准化,而RDMAC是IETF的一个补充,它与IETF一起定义了iWARP(Internet Wide Area RDMA Protocol)和iSER(iSCSI Extensions for RDMA)。上层应用要想使用RDMA,需要支持与RNIC之间的传输接口层(software transport interface),也被称为Verbs。

IBTA解释了RDMA传输过程中应具备的特性行为,而并没有规定Verbs的具体接口和数据结构原型,这部分工作由另一个组织OFA(Open Fabric Alliance)来完成,OFA提供了RDMA传输的一系列Verbs API。OFA还开发出了OFED(Open Fabric Enterprise Distribution)协议栈,可支持多种RDMA传输层协议。

OFED中除了提供向下与RNIC基本的队列消息服务,向上还提供了ULP(Upper Layer Protocols),通过ULPs使得上层应用不需要直接到Verbs API对接,而是借助于ULP与应用对接,常见的应用不需要做修改,就可以跑在RDMA传输层上。

支持RDMA的网络协议在发展过程中的四个阶段

支持RDMA的网络协议在发展过程中的四个阶段

图1:支持RDMA的网络协议在发展过程中的四个阶段

如图1所示,支持RDMA的网络协议的发展过程主要包括四个阶段:

IB(InfiniBand)

InfiniBand是IBTA(InfiniBand Trade Association)在2000年正式发布的规范,而RDMA是IBM和HP在2003年提出的,因此基于InfiniBand架构的RDMA属于原生RDMA,通过支持IB传输协议专用的IB网卡和IB网络设备提供硬件级的高可靠和高性能,因此在高性能计算应用场景中被广泛采纳。

InfiniBand是一种用于高性能计算的计算机网络通信标准,具有很高的吞吐量和非常低的延迟,它用于计算机之间和内部的数据互连。InfiniBand还可用作服务器和存储系统之间的直接互连或交换互连,以及存储系统之间的互连。

iWARP(Internet Wide Area RDMA Protocol)

由于搭建InfiniBand专网的费用非常昂贵,于是IBM和HP联合Intel、Microsoft、Dell、EMC、NetApp、Adaptec、Broadcom、Cisco等业界先进厂商一起成立了RDMA Consortium组织,旨在开发必要的体系结构规范,以实现可通过TCP/IP网络(包括基于以太网的网络)提供RDMA的产品。

RDMA联盟作为Internet工作任务组(IETF)的补充,将规范草案提交给IETF工作组“Internet协议套件RDMA”进行审议,于2007年形成基于TCP/IP的RDMA,称作iWARP。iWARP主要包括MPA(Markers PDU Aligned Framing)、DDP(Direct Data Placement Protocol)、RDMAP(Remote Direct Memory Access Protocol)三层子协议,如图2所示。iWARP是一种全新的协议,使用iWARP协议对以太网络没有任何要求,但是服务器的网卡RNIC要能支持该协议,同时还要能实现RDMA的卸载和TCP的卸载(即TOE,TCP/IP Offload Engine)。

传统模式和RDMA模式的对比

图2:传统模式和RDMA模式的对比

RoCEv1(RDMA over Converged Ethernet)

许多年来,人们仍一直设法使以太网能够支持基于IB协议的RDMA。IBTA作为InfiniBand的全部标准制定者,在2010年时补充了RoCE,其MAC层的网络头是以太网头,Ethernet Type位是0x8915,MAC层以上的网络头(包括数据)是InfiniBand头,如图2所示。RoCEv1是以太网链路层协议,该协议允许RDMA可以在同一以太网广播域中的任何两个主机之间进行通信,但这限制了RoCE功能的应用范围。与此同时,为保障其可靠性,协议建议将RoCE承载在无损网络上,即融合增强型以太网CEE(Converged Enhanced Ethernet)。

RoCEv2

IBTA在2014年又发布了RoCEv2的标准化协议,对RoCE做了进一步的改进,用以太网链路层上的IPv4/IPv6报头和UDP报头(UDP端口号为4791)替代InfiniBand的网络层和传输层,如图2所示。其中,引入IP解决了网络扩展性问题,可以跨三层组网,在基于IP的传统路由器之间路由RDMA;引入UDP解决负载均衡的问题,提高网络利用率,但RoCEv2仍然需要无损网络保障其低延时和无丢包。

要实现RDMA流量的正常传输,除了要支持上述的技术外,还需要建立从RDMA NIC到应用程序内存的数据路径,而这个路径是由Verbs API接口来建立的,一旦数据路径建立后,就可以直接访问用户空间buffer。

从图3中可以看出,网络传输侧RDMA的实现方式主要分为InfiniBand和Ethernet两种。在以太网上,又可以根据与以太网融合的协议栈的差异分为iWARP和RoCE(包括RoCEv1和RoCEv2)。

其中,InfiniBand网络使用的是支持IB协议的专用交换机;RoCEv1、RoCEv2和iWARP流量可以在传统以太网上进行传输,承载RoCEv1协议的网络只能局限于广播域内传输RDMA流量,而另外两种协议可以在传统路由器之间传输RDMA流量。在服务器端,承载IB、RoCEv1/v2流量的发送端和接收端服务器的网卡均需要支持IB协议,在使用iWARP协议的网络中服务器网卡需要支持iWARP协议。

承载RDMA技术的网络架构

图3:承载RDMA技术的网络架构

在RDMA的不同发展阶段,都会涌现出一些率先支持该阶段技术的供应商,比如支持IB协议栈的网卡供应商有IBM、Microsoft、Intel、Wintel、HP、Dell等70多家,支持iWARP的有Intel、Chelsio等,支持RoCEv1/v2的有Mellanox、Emulex、Broadcom、QLogic、Cavium、Huawei、ATTO Technology等,为了满足用户的不同需求,部分厂商推出了可同时支持iWARP、RoCEv1/v2两种协议的网卡,如Marvel、Microsoft、Linux、Kazan等。

返回资源中心

RDMA为什么出现,它有什么好处

更多相关内容


科技发展催生RDMA诞生

随着AI、5G网络的兴起,大数据分析、边缘计算的飞速发展,以及“唤醒万物,万物互联”时代的到来,各种应用、各种行业对高效通信的需求越来越强烈,在这一风口浪尖上,英特尔、NVIDIA、AMD、亚马逊、微软、联想、阿里巴巴、百度、Dell、EMC、阿托斯、华为、曙光、浪潮、Cray、Fujitsu、HP和NEC等众多公有云厂商推出了解决方案“为用户提供灵活、强弹性和高可扩展的基础通讯设施以及几乎无限的存储容量”,吸引了越来越多的新兴业务应用和企业将数据中心建设于公有云之上。当客户将数据中心建设于公有云上时,数据中心网络中的东西向流量剧增,占据了80%的网络带宽,于是出现了大量的远程内存访问需求。

一个应用的访问会在数据中心产生一系列的连锁反应,举例说明,如图1所示,在大数据分析的数据中心应用场景中,某终端用户访问某一业务,首先访问的是Web应用区中的业务链接;然后返回访问结果,于此同时,还需要根据终端用户的访问行为推送与该行为相关的其他业务链接,此时需要依赖大数据分析系统对该用户终端的一系列行为进行分析,在分析过程中会调用存储区中终端的其他相关行为数据,再进行深入的综合分析;

最后将终端用户行为和大数据分析结果存储到存储区,并作为用户行为分析的结论传输给应用显示系统进行排列组合,最终将呈现结果推送至用户终端,并通过Web界面显示。Web应用服务器、大数据分析服务器、存储服务器以及显示系统之间存在大量的内存访问需求。

一个应用访问行为引起的连锁反应

远程内存访问的低效直接导致业务应用的低效

由于在数据中心领域中人们总是将目光集中在云计算、100G/400G单端口带宽的提升等技术的发展上,而忽略了如何提升计算节点接收到数据后的数据处理性能和内存带宽的利用率。当AI、5G、AR/VR/MR、大数据分析、IoT等高性能计算应用大量兴起时,面对网络带宽、处理器速度与内存带宽三者的严重“不匹配性”,就造成了网络延迟效应的加剧。远程内存访问这一常态性业务处理性能的低效就直接导致了业务应用的低效。

如图2所示,在典型的IP数据传输过程中(包括数据接收和发送两个过程),其数据处理原理是:

数据发送

Server-A上的应用程序APP-A向Server-B上的应用程序APP-B发送数据。作为传输的一部分,需要将数据从用户应用空间的Buffer中复制到Sever-A的内核空间的Socket Buffer中,然后在内核空间中添加数据包头、封装数据包,再通过一系列网络协议的数据包处理工作,诸如传输控制协议(TCP)或用户数据报协议(UDP)、互联网协议(IP)以及互联网控制消息协议(ICMP)等,最后被Push到NIC网卡的Buffer中进行网络传输。

数据接收

消息接受方Sever-B接收从远程服务器Sever-A发送的数据包后会进行应答,当Sever-A收到应答数据包时,首先将数据包从NIC Buffer中复制数据到内核Socket Buffer中,然后经过协议栈进行数据包的解析,解析后的数据会被复制到相应位置的用户应用空间的Buffer中,最后唤醒应用程序APP-A,等待应用程序A执行读操作。

典型的IP数据的传输中,服务器发送和接收的处理过程

当网络流量以很高的速率交互时,发送和接收的数据处理性能非常的低效,这种低效表现在:

  • 处理延时过大,达数十微妙。在数据发送和接收的过程中,大多数网络流量必须至少两次跨系统内存总线进行数据复制,一次是在主机适配器使用DMA将数据放入内核提供的内存缓冲区中,另一次是从内核将数据移至应用程序的内存缓冲区中。这意味着计算机必须执行两次中断,才能在内核上下文和应用程序上下文之间进行切换。因此服务器收到数据后的处理过程需要经过多次内存拷贝、中断处理、上下文切换、复杂的TCP/IP协议处理等,造成流量传输时延加剧;
  • 单位时间内收到的报文越多,处理报文消耗的CPU和内存资源越高。交换机往往做三层解析就足够,而且是由专门的芯片来完成,不消耗CPU资源。而服务器要将收到的每个报文的内容都解析出来,网络层和传输层的解析都需要消耗CPU资源和占用内存资源,由CPU来查询内存地址、检验CRC、还原TCP/UDP包并送到应用空间。单位时间内进来的报文数量越多,消耗CPU和内存资源就越多;
  • 较低的灵活性。主要原因是所有网络通信协议通过内核传递,而这种方式很难去支持新的网络协议、新的消息通信协议及发送和接收接口,使用传统的IP数据传输在后期网络的演进过程中,想要跳脱这种“困局”就变得非常的困难。

低时延、超低CPU和内存资源占用率的RDMA技术,变低效为高效

为了解决远程内存访问过程中“服务器端数据处理延迟大、资源消耗大”的问题,IBM和HP在2003年提出了RDMA(Remote Direct Memory Access,远程直接内存存取),通过使用支持该技术的网络适配器能够将数据从线路直接传输到应用程序内存或从应用程序内存直接传输到线路,从而支持零拷贝网络,无需在应用程序内存和操作系统中的数据缓冲区之间复制数据。这样的传输不需要CPU、缓存或上下文切换器完成任何工作,大幅度降低了消息传输中的处理延迟,同时传输与其他系统操作并行进行,提高了交换机的性能。

在具体的远程内存读写过程中,用于RDMA读写操作的远程虚拟内存地址包含在RDMA消息中传送,所以远程应用程序要做的只是在其本地网卡中注册相应的内存缓冲区,而远程节点的CPU除在连接建立、注册调用等之外,在整个RDMA数据传输过程中并不提供服务,因此没有给CPU带来资源消耗。举例说明,假设应用和远程应用之间已经建立了连接,并注册了远端的内存缓存区,当该应用执行RDMA读操作,其工作过程如下:

  • 当一个应用执行RDMA读操作时,不执行任何数据复制。在不需要任何内核参与的条件下,RDMA请求从运行在用户空间的应用中发送到本地NIC;
  • 本地NIC读取缓存的内容,并通过网络传送到远程NIC;
  • 在网络上传输的RDMA信息包含目标虚拟内存地址、内存钥匙和数据本身;
  • 目标NIC确认内存钥匙,并直接读取应用缓存中的数据,其中用于操作的远程虚拟内存地址包含在RDMA信息中。

传统模式和RDMA模式的对比

如图3所示,通过对比传统模式和RDMA模式对发送和接收数据的处理过程,RDMA技术最大的突破在于给数据中心通信架构带来了低时延、超低的CPU和内存资源占用率等特性。

星融元:浅谈RDMA与低时延网络

低延时体现在:

  1. 在网卡上将RDMA协议固化于硬件。在网卡硬件上就完成四层解析,然后直接将解析后的数据上送到应用层软件,硬件的处理速率远高于软件,降低了报文的处理延时;
  2. 零拷贝网络。网卡可以直接与应用内存相互传输数据,消除了在应用内存与内核内存之间的数据复制操作,使传输延迟显著降低;
  3. 内核内存旁路。应用程序无需执行内核内存调用就可向网卡发送命令。在不需要任何内核内存参与的条件下,RDMA请求从User Space发送到本地NIC,再通过网络发送给远程网卡,这就减少了在处理网络传输流时内核内存空间与用户空间之间环境切换的次数,降低了时延;
  4. 消息基于事务。数据被处理为离散消息而不是流,消除了应用程序将流切割为不同消息/事务的需求;
  5. 支持分散/聚合条目。RDMA原生态支持分散/聚合,也就是说,读取多个内存缓冲区然后作为一个流发出去或者接收一个流然后写入到多个内存缓冲区里去。

超低CPU和内存资源占用率体现在:

应用程序可以直接访问远程内存,而不占用远程服务器中的任何CPU资源,远程CPU中的缓存资源也不会被访问的内容填满,服务器可以将几乎100%的CPU资源和内存资源提供给计算或其他的服务,节省了服务器资源占用的同时,提高了服务器数据处理带宽。

返回资源中心

对星融元产品感兴趣?

立即联系!

返回顶部

© 星融元数据技术(苏州)有限公司 苏ICP备17070048号-2