【硬件相关】RDMA网络类别及基础介绍

本文探讨了RDMA协议(包括InfiniBand、RoCE和iWARP)在高性能计算中的应用,比较了它们的性能、扩展性以及维护难度。InfiniBand提供最快的性能但成本高,RoCE在性能和扩展性上平衡且易于管理,iWARP基于TCP但性能受限。
摘要由CSDN通过智能技术生成

一、前言

roce-vs-infiniband-vs-tcp-ip
RoCE、IB和TCP等网络的基本知识及差异对比

分布式存储常见网络协议有TCP/IP和RDMA两种,传统TCP/IP协议无法满足高性能计算、AIGC大模型分析等高并发、低时延应用,通常会采用RDMA来满足高吞吐、低延时的网络通信要求。
传统TCP/IP网络通信使用内核发送消息,这种通信方式有较高的数据移动和数据复制开销,现有数据中心一般采用RDMA网络通信,降低了读写时延和服务器CPU资源占用,但RDMA协议对网络丢包非常敏感,0.01的丢包率会使得RDMA吞吐率下降为0,无损成为RDMA网络重要需求之一,通常要求丢包率在1e-05(十万分之一)以下。
在这里插入图片描述

1、RDMA网络协议

RDMA,即Remote Direct Memory Access(远端直接内存访问),它能够使得网络中的两台主机直接在内存中交换数据,而不依赖与任何一台主机的处理器、缓存和操作系统,可以直接通过网络接口访问内存数据,无需操作系统的介入,降低数据处理过程中的延迟。
它将收/发包的工作卸载(offload)到了网卡上,不需要像TCP/IP协议一样使系统进入内核态,减少了拷贝、封包解包等等的开销。这样大大降低了以太网通信的延迟,减少了通讯时对CPU资源的占用,缓解了网络中的拥塞,让带宽得到更有效的利用,从而在支持RDMA的系统之间实现更快的数据传输速率和更低的延迟。
RDMA网络协议具备以下优势:

  • 零拷贝(Zero-copy) :应用程序能够直接执行数据传输,在不涉及到网络软件栈的情况下。数据能够被直接发送到缓冲区或者能够直接从缓冲区里接收,而不需要被复制到网络层。
  • 内核旁路(Kernel bypass) :应用程序可以直接在用户态执行数据传输,不需要在内核态与用户态之间做上下文切换。
  • 不需要CPU干预(No CPU involvement) :应用程序可以访问远程主机内存而不消耗远程主机中的任何CPU。远程主机内存能够被读取而不需要远程主机上的进程(或CPU)参与。远程主机的CPU的缓存(cache)不会被访问的内存内容所填充。
  • 消息基于事务(Message based transactions):数据被处理为离散消息而不是流,消除了应用程序将流切割为不同消息/事务的需求。
  • 支持分散/聚合条目(Scatter/gather entries support):RDMA原生态支持分散/聚合。也就是说,读取多个内存缓冲区然后作为一个流发出去或者接收一个流然后写入到多个内存缓冲区里去。

在这里插入图片描述

2、TCP/IP网络协议

TCP/IP,即Transmission Control Protocol/Internet Protocol(传输控制协议/网络协议),用于互联网上互联网络设备,它确定数据应该如何打包、寻址、传输、路由和接收;TCP/IP 非常重视两台计算机之间的精确数据传输,如果系统在一次性发送消息时遇到问题,则必须再次发送整个消息。
此外,TCP/IP 的功能分为四个不同的层次: 数据链路层、互联网层、传输层和应用层。数据必须经过这四层,然后才能在另一端接收。然后CP/IP 将通过以相反的顺序传递层来重新组装数据,并将其呈现给接收方。通过这种方式,可以通过升级某些层而不是整个系统来提高数据中心的性能或安全性。

二、RDMA类别

RDMA有以下三种类别

1、IB

IB,即Infiniband,是一种专门为RDMA设计的网络,从硬件级别保证网络无损,提供极高的带宽和极低的时延,但是成本高,需要支持IB的网卡和交换机。
Infiniband交换机是特定厂家提供的专用产品(主流厂商有NVIDIA(Mellanox)、Intel、Cisco、HPE 等),采用私有协议,而目前绝大多数环境均采用IP以太网络,采用Infiniband无法满足互通性需求,同时封闭性架构存在厂商锁定问题。

2、RoCE

基于Soft-RoCE可实现不支持RoCE网卡主机具备RoCE网络协议通信能力,配置过程详见Chapter 2. Configuring RoCE

RoCE,即RDMA over Converfied Ethernet,基于以太网实现的RDMA网络,它允许数据从一台主机传输到另一台主机,减少了CPU的操作负载。消耗的资源比 iWARP 少,支持的特性比 iWARP 多,可以使用普通的以太网交换机(需要支持无损以太网技术),但是需要支持RoCE的网卡。
RoCE目前有两个版本

  • RoCE v1:是一种链路层协议,使用RoCE v1协议通信的双方必须在同一个二层网络内,允许在同一个广播域下的任意两台主机直接访问
  • RoCE v2:是一种网络层协议,使用RoCE v2协议的包可以被三层路由,具有更好的扩展性,基于UDP协议封装,允许不同广播域下的主机通过三层访问

3、iWARP

iWARP,即internet Wide Area RDMA Protocol,基于TCP实现的RDMA网络,它使用TCP来实现可靠的数据传输,但由于TCP协议限制,其性能上丢失了大部分RDMA的优势。相比RoCE,在大型组网的情况下,iWARP的大量TCP连接会占用大量的内存资源,对系统规格要求更高。可以使用普通的以太网交换机,但是需要支持iWARP的网卡。
RDMA

在这里插入图片描述

三、RDMA对比

类别RoCEIBiWARP
性能低(受TCP影响)
扩展性
稳定性
维护难度
投入成本
网络设备以太网交换机IB交换机以太网交换机
网卡要求支持RoCE支持IB支持iWARP
标准编制IBTA(InfiniBand Trade Association)IBTA(InfiniBand Trade Association)IETF(Internet Engineering Task Force)

1、优缺点说明

a、性能
  • RoCE提高了企业数据中心的速度和能力,在不更换以太网基础设施情况下降低总体成本
  • Infiniband使用串行链路和总线一次1bit地发送数据,从而实现更快、更有效的通信
  • iWARP提供了与RoCE类似的低延迟和高吞吐量的传输能力,但性能略逊于 InfiniBand 和 RoCE
b、扩展性

三种RDMA网络协议都具有很高的可扩展性和灵活性,其中Infiniband协议扩展性最高,Infiniband一个子网可以支持成千上万个节点,它提供了相对简单和可扩展架构,通过Infiniband路由器创建几乎无限的集群大小。

c、维护难度

三种RDMA网络协议中,其中Infiniband维护难度及成本最高,Infiniband需要采购特定厂家生产的IB网卡和IB交换机,使用了私有协议作为专用网络技术,无法继承用户在IP网络运维的积累;
当前Infiniband市场空间占比很少,业内有经验的运维人员严重缺乏,网络一旦出现故障,无法及时修复,运营成本极高,目前基于传统以太网承载RDMA(RoCE v2)成为RDMA大规模应用的必要趋势。

2、总结说明

  • 对于追求最高性能的网络通信,无疑首选是Infiniband
  • 对于追求更高性能、更易于管理和成本有限的网络通信,无疑首选是RoCE
  • 25
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RDMA(远程直接内存访问)是一种用于高速网络的重要硬件技术,对于人工智能训练具有重要意义。 首先,RDMA技术可以实现高速、低延迟的数据传输。人工智能训练通常需要大量的数据传输和计算,传统网络技术可能无法满足其需求,而RDMA可以以硬件级别实现零拷贝数据传输,避免了数据在内存和网络之间的多次复制,大大减少了数据传输时间和CPU的使用。 其次,RDMA技术提供了高性能的网络通信能力,在分布式人工智能训练中能够保证各个节点之间的通信效率。人工智能训练通常采用分布式计算架构,各个计算节点需要频繁地进行通信,传输模型参数和计算结果等。RDMA技术可以在网络传输层提供硬件级别的通信支持,大大减少了网络通信的开销,提高了计算节点之间的通信效率和整体训练速度。 此外,RDMA技术还具备高度并行的特点,可以支持大规模的并发访问。在人工智能训练中,由于模型参数和计算数据量巨大,需要大规模的计算资源来进行训练。RDMA技术通过多通道、多队列和硬件级别的并行处理,可以支持更多的计算节点同时进行访问和计算操作,提高了计算资源的利用率和系统的整体性能。 综上所述,RDMA技术作为高速网络的重要硬件,对于人工智能训练具有重要意义。它能够提供高速、低延迟的数据传输,保证分布式训练中节点之间的高效通信,并支持大规模的并行访问,提高计算资源的利用率。这些特点使得RDMA成为人工智能训练中不可或缺的硬件技术。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值