随着智算中心建设的火爆,RDMA技术也被越来越多人熟知,到底什么是RDMA,和IB网络的关系是什么?为什么需要RDMA?它的技术实现原理是什么?典型的RDMA技术方案有哪些?今天简单做个分享。
一、为什么会出现RDMA
随着HPC高性能计算、人工智能大模型等技术的飞速发展,集中式存储、分布式存储的普及等原因,业务场景对网络的性能要求越来越高(更高的带宽、更低的时延、需要支持并行的文件系统等),传统的 TCP/IP 软硬件架构及应用存在着网络传输和数据处理的延迟过大、存在多次数据拷贝和中断处理、复杂的 TCP/IP 协议处理等问题。
RDMA(英文全称:Remote Direct Memory Access),意思是远程直接内存访问,这种技术是一种最早应用于高性能计算领域的网络通讯协议,目前已在数据中心当中得到广泛应用。RDMA允许用户程序绕过操作系统内核(CPU),直接和网卡交互进行网络通信,从而提供高带宽和极小时延。
传统 TCP/IP 数据传输过程
RDMA 数据传输过程
二、RDMA的技术优势
RDMA 技术实现了在网络传输过程中两个节点之间数据缓冲区数据的直接传递,在本节点可以直接将数据通过网络传送到远程节点的内存中,绕过操作系统内的多次内存拷贝,相比于传统的网络传输,RDMA 无需操作系统和 TCP/IP 协议的介入,可以轻易的实现超低延时的数据处理、超高吞吐量传输,不需要远程节点 CPU 等资源的介入,不必因为数据的处理和迁移耗费过多的资源。
RDMA是一种智能网卡与软件架构充分优化的远端内存直接高速访问技术,通过将RDMA协议固化于硬件(即网卡)上,以及支持Zero-copy和Kernel bypass这两种途径来达到其高性能的远程直接数据存取的目标。
和RDMA相关的两个概念:
零拷贝(Zero-copy): 应用程序能够直接执行数据传输,无需涉及到网络软件栈的情况下。数据能够被直接发送到缓冲区或者能够直接从缓冲区里接收。 内核旁路(Kernel bypass) - 应用程序可以直接在用户态执行数据传输,不需要在内核态与用户态之间做上下文切换。
三、RDMA技术的三种方案
RDMA 技术的方案主要包括:
• IB(InfiniBand):RDMA原生的网络协议,通过专用硬件实现最优的性能。但是由于专用硬件的原因,即Infiniband要求从L2到L4到需要自己的专用硬件,设备成本非常高,现在做InfiniBand网络的厂商主要是Mellanox。
• RoCE(RDMA over Converged Ethernet):RoCE基于以太网链路层的协议,v1版本网络层仍然使用了IB规范,而v2使用了UDP+IP作为网络层,使得数据包也可以被路由。RoCE可以被认为是IB的“低成本解决方案”,将IB的报文封装成以太网包进行收发。由于RoCE v2可以使用以太网的交换设备,所以现在在企业中应用也比较多,但是相同场景下相比IB性能要有一些损失。
• iWARP(Internet Wide Area RDMA Protocal):基于 TCP/IP 协议的 RDMA 技术,由 IETF 标准定义。iWARP 支持在标准以太网基础设施上使用 RDMA 技术,但服务器需要使用支持iWARP 的网卡。
四、IB方案特点概述
InfiniBand 是一种基于 InfiniBand 架构的 RDMA 技术,它提供了一种基于通道的点对点消息队列转发模型,每个应用都可通过创建的虚拟通道直接获取本应用的数据消息,无需其他操作系统及协议栈的介入。InfiniBand 架构的应用层采用了 RDMA 技术,可以提供远程节点间 RDMA 读写访问,完全卸载 CPU 工作负载;网络传输采用了高带宽的传输;链路层设置特定的重传机制保证服务质量,不需要数据缓冲。
InfiniBand 必须运行在 InfiniBand 网络环境下,必须使用 IB 交换机及 IB 网卡才可实现。InfiniBand的技术架构如下:
RoCE 技术支持在以太网上承载 IB 协议,实现 RDMA over Ethernet。RoCE 与 InfiniBand 技术有相同的软件应用层及传输控制层,仅网络层及以太网链路层存在差异。RoCE的技术架构如下:
RoCE 的技术特点是。基于目前最常见的以太网的数据传输能够提高数据传输吞吐量,减少网络延时,降低 CPU 负载。
RoCE 技术可通过普通以太网交换机实现,但服务器需要支持 RoCE 网卡,网络侧需要支持无损以太网络,这是由于 IB 的丢包处理机制中,任意一个报文的丢失都会造成大量的重传,严重影响数据传输性能。
很多网卡在设计时就默认支持了RoCE的功能,截图如下:
本文链接:https://www.kinber.cn/post/3931.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝: