RDMA技术原理分析、主流实现对比和解析
消息来源:baojiabao.com 作者: 发布时间:2024-04-24
RDMA技术最早出现在Infiniband网络,用于HPC高性能计算集群的互联。传统的基于Socket套接字(TCP/IP协议栈)的网络通信,需要经过操作系统软件协议栈,数据在系统DRAM、处理器Cache和网卡Buffer之间来回拷贝搬移,因此占用了大量的CPU计算资源和内存总线带宽,也加大了网络延时。举例来说,40Gbps的TCP/IP流能耗尽主流服务器的所有CPU资源;RDMA则解决了传统TCP/IP通信的技术痛点。例如,在40Gbps场景下,CPU占用率从100%下降到5%,网络延时从ms级降低到10us以下。
RDMA是一种新的内存访问技术,RDMA让计算机可以直接存取其他计算机的内存,而不需要经过处理器耗时的处理。RDMA将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响。RDMA技术的原理及其与TCP/IP架构的对比如下图所示。
因此,RDMA可以简单理解为利用相关的硬件和网络技术,服务器的网卡之间可以直接读内存,最终达到高带宽、低延迟和低资源利用率的效果。应用程序不需要参与数据传输过程,只需要指定内存读写地址,开启传输并等待传输完成即可。
RDMA最早在Infiniband传输网络上实现,技术先进,但是价格高昂(只有Mellanox和Intel供应商提供全套网络解决方案),后来业界厂家把RDMA移植到传统Ethernet以太网上,降低了RDMA的使用成本,推动了RDMA技术普及。在Ethernet以太网上,根据协议栈融合度的差异,分为iWARP和RoCE两种技术,而RoCE又包括RoCEv1和RoCEv2两个版本(RoCEv2的最大改进是支持IP路由),各RDMA网络协议栈的对比如下图所示。
Infiniband,支持RDMA的新一代网络协议。 由于这是一种新的网络技术,因此需要支持该技术的NIC和交换机。
RoCE,一个允许在以太网上执行RDMA的网络协议。 其较低的网络标头是以太网标头,其较高的网络标头(包括数据)是InfiniBand标头。 这支持在标准以太网基础设施(交换机)上使用RDMA。 只有网卡应该是特殊的,支持RoCE。
iWARP,一个允许在TCP上执行RDMA的网络协议。 IB和RoCE中存在的功能在iWARP中不受支持。 这支持在标准以太网基础设施(交换机)上使用RDMA。 只有网卡应该是特殊的,并且支持iWARP(如果使用CPU卸载),否则所有iWARP堆栈都可以在软件中实现,并且丧失了大部分RDMA性能优势。
RDMA应用和RNIC(RDMA-aware Network Interface Controller)之间的传输界面层(Software Transport Interface)被称为Verbs或RDMA API,RDMA API (Verbs)主要有两种Verbs:
内存Verbs(Memory Verbs),也叫One-SidedRDMA。包括RDMA Reads, RDMA Writes, RDMA Atomic。这种模式下的RDMA访问完全不需要远端机的任何确认。
消息Verbs(Messaging Verbs),也叫Two-SidedRDMA。包括RDMA Send, RDMA Receive。这种模式下的RDMA访问需要远端机CPU的参与。
RDMA over TCP(iWARP)协议能够工作在标准的基于TCP/IP协议的网络,如目前在各个数据中心广泛使用的以太网。iWARP并没有指定物理层信息,所以能够工作在任何使用TCP/IP协议的网络上层。iWARP允许很多传输类型来共享相同的物理连接,如网络、I/O、文件系统、块存储和处理器之间的消息通讯。
从RDMA over TCP的协议栈来看,最上面三层构成iWARP协议族,用来保证高速网络的互操作性。
RDMA over Converged Ethernet(RoCE)是一种网络协议,允许应用通过以太网实现远程内存访问。目前RoCE有两个协议版本。
RoCE v1是一种链路层协议,允许在同一个广播域下的任意两台主机直接访问。
RoCE v2是一种Internet层协议,即可以实现路由功能。虽然RoCE协议这些好处都是基于融合以太网的特性,但是RoCE协议也可以使用在传统以太网网络或者非融合以太网络中。
目前,虽然IB、以太网RoCE、以太网iWARP这三种RDMA技术使用统一的API,但它们有着不同的物理层和链路层。在以太网解决方案中,RoCE相对于iWARP来说有着明显的优势,这些优势体现在延时、吞吐率和 CPU负载。RoCE被很多主流的方案所支持,并且被包含在Windows服务软件中。
RDMA技术基于传统网络的概念,但与IP网络又有些不同。最关键的不同是RDMA提供了一种消息服务, 利用这种服务,应用程序可以直接访问远程计算机上的虚拟内存。消息服务可以用来进行网络中进程间通信(IPC)、远程服务器通信和在一些上层协议的协助下与存储设备进行数据传递。上层应用协议ULPs(Upper Layer Protocols)有很多,例如iSCSI的RDMA扩展(iSER)、SCSI RDMA协议(SRP)等,主流的SMB、Samba 、Lustre、ZFS等也支持RDMA。
RoCE和InfiniBand,一个定义了如何在以太网上运行RDMA,而另一个则定义了如何在IB网络中运行RDMA。RoCE期望能够将IB的应用(主要是基于集群的应用)迁移到融合以太网中,而在其他应用中,IB网络仍将能够提供比RoCE更高的带宽和更低的时延。RoCE和IB协议的技术区别:
拥塞控制:RoCE所依赖的无丢包网络基于以太网流控或PFC(Priority Flow Control)来实现。RoCEv2 则是定义了拥塞控制协议,使用ECN做标记和CNP帧来做确认。而IB则是使用基于信用的算法来保证HCA-HCA之间的无丢包通信。
时延:当前IB交换机普遍要比以太交换机拥有更低的时延,以太网交换机一般的Port-to-Port时延在230ns,相比IB交换机在同样埠数的情况下100ns的时延,以太交换机还是要高出不少。
配置:配置一个DCB以太网络要远比配置一个IB网络要复杂的多,同理,运维也要复杂的多。
RoCE和iWARP,一个是基于无连接协议UDP,一个是基于面向连接的协议(如TCP)。RoCEv1只能局限在一个二层广播域内,而RoCEv2和iWARP都能够支持三层路由。相比RoCE,在大型组网的情况下,iWARP的大量TCP连接会占用大量的额内存资源,对系统规格要求更高。另外,RoCE支持组播,而iWARP还没有相关的标准定义。
Intel收购了Qlogic的InfiniBand业务的Intel又另辟新径,推出了一整套叫做“True Scale Fabric”的高性能计算架构的解决方案(包括IB和Omni-Path),独立提出了一套Omni-Path Host Fabric Interface界面和对应的交换机产品。提供Verbs和PSM(性能扩展消息库)两个编程界面,PSM是专门面向 MPI 通信设计的界面。
Intel在CPU上集成了Omni-Path相关功能,这也意味着Omni-Path通信效率上更加高效,但会让自己的网络依赖于CPU,至少在处理器上开放性还是做的比较有局限性。
通过收购Cray互联部门,Intel在 Omni-Path引入了1.5层的概念。它被称作链接传输层(Link Transport Layer),基于Cray的Aries基础互联技术优化底层数据通信,提供可靠的2层数据包交付、流控和单连璐控制。这也算是对收购Cray的Aries技术的充分利用。
基于作者对RDMA理解,已经对相关技术总结整理成的RDMA原理分析、对比和技术实现解析>电子书,资料目录如下。
通票赠送进行中... ...
求知若渴, 虚心若愚—Stay hungry,Stay foolish
相关文章
- 中兴受美国制裁事件 被罚了20亿美元过程事件始末 中兴被制裁后公司现状
2023-11-02 22:12:46
- B站怎么炸崩了哔哩哔哩服务器今日怎么又炸挂了?技术团队公开早先原因
2023-03-06 19:05:55
- 苹果iPhoneXS/XR手机电池容量续航最强?答案揭晓
2023-02-19 15:09:54
- 华为荣耀两款机型起内讧:荣耀Play官方价格同价同配该如何选?
2023-02-17 23:21:27
- google谷歌原生系统Pixel3 XL/4/5/6 pro手机价格:刘海屏设计顶配版曾卖6900元
2023-02-17 18:58:09
- 科大讯飞同传同声翻译软件造假 浮夸不能只罚酒三杯
2023-02-17 18:46:15
- 华为mate20pro系列手机首发上市日期价格,屏幕和电池参数配置对比
2023-02-17 18:42:49
- 小米MAX4手机上市日期首发价格 骁龙720打造大屏标准
2023-02-17 18:37:22
- 武汉弘芯遣散!结局是总投资1280亿项目烂尾 光刻机抵押换钱
2023-02-16 15:53:18
- 谷歌GoogleDrive网云盘下载改名“GoogleOne” 容量提升价格优惠
2023-02-16 13:34:45
- 巴斯夫将裁员6000人 众化工巨头裁员潮再度引发关注
2023-02-13 16:49:06
- 人手不足 韵达快递客服回应大量包裹派送异常没有收到
2023-02-07 15:25:20
- 资本微念与李子柒销声匿迹谁赢? 微念公司退出子柒文化股东
2023-02-02 09:24:38
- 三星GalaxyS8 S9 S10系统恢复出厂设置一直卡在正在检查更新怎么办
2023-01-24 10:10:02
- 华为Mate50 RS保时捷最新款顶级手机2022多少钱?1.2万元售价外观图片吊打iPhone14
2023-01-06 20:27:09
- 芯片常见的CPU芯片封装方式 QFP和QFN封装的区别?
2022-12-02 17:25:17
- 华为暂缓招聘停止社招了吗?官方回应来了
2022-11-19 11:53:50
- 热血江湖手游:长枪铁甲 刚猛热血 正派枪客全攻略技能介绍大全
2022-11-16 16:59:09
- 东京把玩了尼康微单相机Z7 尼康Z7现在卖多少钱?
2022-10-22 15:21:55
- 苹果iPhone手机灵动岛大热:安卓灵动岛App应用下载安装量超100万次
2022-10-03 22:13:45