RoCE指南
在数据时代,对于更快、更高效、可扩展的网络需求从未减少。由于传统的TCP/IP以太网连接对CPU资源要求较高,并需要额外的数据复制和处理,已无法满足当前网络需求。在此背景下,基于以太网的RDMA(远程直接内存访问)技术应运而生。了解RoCE前,首先需认识RDMA的概念。
RDMA(远程直接内存访问)可以利用网络中的设备直接进行数据传输,而RoCE(基于以太网的RDMA)是该技术的一种主要实现方式。RoCE通过高速和低延迟的数据传输提高传输效率,使其在高性能计算和云环境中表现出色。本文将探讨RDMA的基础知识以及RoCE如何增强以太网网络上的数据传输。
什么是RDMA
RDMA(远程直接内存访问)可以使得一台主机或服务器的内存可以直接访问另一台主机或服务器的内存,而无需经过CPU的介入。因此CPU能够专注于运行应用程序和处理大量数据等本身的工作。通过使用RDMA,可以实现网络和主机的高性能,包括低延迟、低CPU负载和更高的带宽,同时成本效益也更高。
RDMA技术实现了智能网卡和优化软件架构的完美结合,为高速直接访问远程内存提供强大支持。通过将RDMA协议嵌入硬件(例如网卡)并利用零拷贝和内核绕过等方法,实现了高性能的远程数据访问。
图1:RDMA技术
什么是RoCE
RoCE是在InfiniBand贸易协会(IBTA)标准中定义的一种网络协议,允许在收敛以太网网络上进行RDMA。简而言之,它将RDMA技术应用于超融合数据中心、云、存储和虚拟化环境中。RoCE具备RDMA技术的所有优点,同时又具有以太网的普及性。如果想了解RoCE与InfiniBand之间的差异,可以了解《RoCE vs InfiniBand vs TCP/IP》。以下是IB和RoCE的封装比较:
图2: InfiniBand Vs RoCEv2
RoCE类型
一般来说,RoCE有两个版本:RoCE v1和RoCE v2,具体使用取决于网卡的支持。
-
RoCE v1:RoCE v1协议是一种以太网链路层协议,允许同一以太网广播域(VLAN)中的两个主机进行通信。它使用以太网类型(EtherType)0x8915,标准以太网帧的帧长度限制为1500字节,以太网巨型帧的帧长度限制为9000字节。
-
RoCE v2:RoCE v2协议克服了RoCE v1仅限于单个广播域(VLAN)的限制。RoCE v2可以在L2和L3网络中使用,它通过改变数据包的封装方式,包括IP和UDP报头,实现L3路由功能。这使得RoCE v2可以在具有多个子网的网络中使用,从而实现更好的可扩展性。因此RoCE v2也被称为可路由的RoCE(RRoCE)。RoCE v2的引入,还可以进行IP组播。
RoCE的优势
由于RoCE通过网络接口直接访问内存数据,而不是通过内核进行访问,因此可以实现低延迟和高性能传输。
-
低CPU参与:在访问远程交换机或服务器的内存时,无需消耗远程服务器的CPU周期,从而实现对可用带宽的充分利用和更高可扩展性。
-
零拷贝:可将数据发送至远程缓冲区并从远程缓冲区接收数据。
-
高效性:由于RoCE降低延迟和提高吞吐量,网络性能得到了很大提升。
-
节省成本:通过RoCE,无需购买新设备或更换以太网基础设施来处理海量数据,这在很大程度上节省了企业的资本支出。
图3: RoCE v1 Vs RoCE v2封装
RoCE的局限性
由于传统以太网网络存在性能瓶颈,一般的RoCE应用在高性能业务中仍然会面临拥塞、丢包和延迟抖动等性能损失问题。
-
拥塞:在多播场景中,队列可能会出现拥塞,队列延迟无法忽视。
-
丢包:与FC相比,传统以太网容易出现拥塞和丢包,丢失的数据包的重传很容易导致数据混乱。
-
延迟抖动:以太网网络存在大量的延迟抖动,并且其存储转发模式导致复杂的查找过程和高转发延迟。
图4: 之前Vs之后RoCE
如何实现RoCE
一般来说,要数据中心实现RoCE,您可以安装支持RoCE的网卡或网卡驱动程序。所有以太网网卡都需要RoCE网卡卡。RoCE驱动程序可在Red Hat、Linux、Microsoft Windows和其他常见操作系统中找到。实现RoCE有两种方法,对于网络交换机,您可以选择使用支持PFC(优先级流量控制)的操作系统的交换机。至于机架服务器或主机,您需使用网卡,例如ConnectX-3 pro和ConnectX-4及以上版本。
还需检查的内容-网络服务器和网络交换机。
RoCE常见问题解答
飞速(FS)列出了一些关于RoCE的常见问题,以便您更好地了解RoCE。
1. 哪些飞速(FS)的交换机或网卡支持RoCE?
目前,除了S5860系列和S5850-24S2Q、S5850-24S2Q-DC交换机外,飞速(FS)的N系列交换机和S58/80系列都支持RoCE v1和v2。客户在购买RDMA交换机后需要启用PFC功能。此外,飞速(FS)还可提供支持RoCE的英伟达(NVIDIA)以太网网卡。
2. RoCE适配器能与其他适配器类型(如iWARP)通信吗?
RoCE适配器只能与其他RoCE适配器进行通信。混合适配器类型(例如将RoCE适配器与iWARP适配器组合)的配置可能会回退到传统的TCP/IP连接。
3. RoCE和iWARP之间有什么区别?
作为RoCE网络协议,iWARP也支持具有较低延迟的RDMA功能,但它们确实存在一些区别。
一方面,RoCE是行业标准以太网RDMA解决方案,具有多品牌生态系统,可在标准的第2层和第3层以太网交换机上提供网卡和操作。而iWARP的支持相对较少。
另一方面,iWARP使用了复杂的层次结构,包括DDP、MPA微调和单独RDMA协议(RDMAP),以通过TCP/IP提供RDMA服务。由于这种复杂的架构,iWARP协议很难将RDMA应用于现有的软件传输框架。在这种情况下,iWARP的吞吐量、延迟和CPU利用率都会受到影响。
图5: iWAP的复杂网络层和RoCEj简化模型对比
结论
通过在数据中心中运行RDMA,可以实现数据传输的卸载,并将更多的CPU资源提供给应用程序。采用RoCE技术的用户可以在不改变网络基础设施的情况下享受RDMA的优势。RoCE通过降低以太网网络的延迟和减轻CPU负担,提高了搜索、存储、数据库、金融和高交易率应用程序的性能。通过提高CPU效率和改善应用程序性能,RoCE可以减少所需的服务器数量,从而节省能源并减少基于以太网的数据中心的占用空间。
相关文章推荐
邮箱地址
-
Cat5e、Cat6、Cat6a和Cat7网线有什么区别?哪个更好?
2020年08月21日
-
一文带你了解SFP、SFP+、SFP28、QSFP+和QSFP28之间的区别
2024年04月13日
-
OM1、OM2、OM3、OM4和OM5多模光纤有什么区别?
2021年11月24日
-
SFP端口是什么?有什么作用?可以接RJ45吗?
2020年09月15日
-
QSFP-DD封装有何优势?800G光模块是否会沿用QSFP-DD封装?
2020年10月16日