科普文:软件架构网络系列之【RDMA 能给数据中心带来什么】

概叙

数据中心现状

随着“新基建”将 5G、人工智能、工业互联网列为新型基础领域,机器学习、智能语音交互、自动驾驶等一大批基于高性能计算的应用层出不穷,这些应用带来了数据的爆炸式增长,给数据中心的处理能力带来了很大的挑战。

计算、存储和网络是推动数据中心发展的三驾马车。计算随着 CPU、GPU 和 FPGA 的发展,算力得到了极大的提升。存储随着闪存盘(SSD)的引入,数据存取时延已大幅降低。但是网络的发展明显滞后,传输时延高,逐渐成为了数据中心高性能的瓶颈。

在数据中心内,70% 的流量为东西向流量(服务器之间的流量),这些流量一般为数据中心进行高性能分布式并行计算时的过程数据流,通过 TCP / IP 网络传输。如果服务器之间的 TCP / IP 传输速率提升了,数据中心的性能自然也会跟着提升。

下面我们就来看看服务器之间数据 TCP / IP 传输的过程,了解下“时间都去哪了”,才好“对症下药”。

服务器间的 TCP / IP 传输

在数据中心,服务器 A 向服务器 B 发送数据的过程如下:

1、CPU 控制数据由 A 的 App Buffer 拷贝到操作系统 Buffer。

2、CPU 控制数据在操作系统(OS)Buffer 中添加 TCP、IP 报文头。

3、添加 TCP、IP 报文头后的数据传送到网卡(NIC),添加以太网报文头。

4、报文由网卡发送,通过以太网络传输到服务器 B 网卡。

5、服务器 B 网卡卸载报文的以太网报文头后,将其传输到操作系统 Buffer。

6、CPU 控制操作系统 Buffer 中的报文卸载 TCP、IP 报文头。

7、CPU 控制卸载后的数据传输到 App Buffer 中。

从数据传输的过程可以看出,数据在服务器的 Buffer 内多次拷贝,在操作系统中需要添加 / 卸载 TCP、IP 报文头,这些操作既增加了数据传输时延,又消耗了大量的 CPU 资源,无法很好得满足高性能计算的需求。

那么,如何构造高吞吐量、超低时延和低 CPU 开销的高性能数据中心网络呢?RDMA 技术可以做到。

数据中心瓶颈怎么解?

我们知道,计算、存储和网络,是推动数据中心发展的三驾马车。因此想要提升数据中心的整体性能仅仅依靠增加算力是行不通的。

数据中心要想实现一个更高的性能需要依赖有一个更佳平衡的系统,只有计算、网络和存储都得充分利用才能够整体提升数据中心。

随着软件定义数据中心、CPU核心、PCIe、闪存等技术的发展,数据在计算和存储方面的瓶颈并没有太明显,而网络随着数据中心的发展逐渐成为了瓶颈,它直接影响到数据中心最大吞吐量和最小的延迟。

10Gbps网络曾经是过去一段时间数据中心中最常用的网络,但是如今动辄五六十核心的CPU的出现,数据中心通常至少需要25Gbps才能有效。

网络行业也一直致力于提供更高的吞吐量和更低的延迟,现在能够提供 25、40、50、100 甚至 200 Gbps 的 RoCE能力以太网,InfiniBand甚至已经引入了 200 Gbps 连接。

关于市场,实际上RDMA的市场一直都不算太小,传统的IB主要面向的是HPC,HP和IBM一直在使用,但是毕竟HPC只是企业级里面一块很小的业务,也不是什么企业都需要或者用得起HPC的。

现在比较值得注意的一点是Intel实际上提出来了一种概念叫做“新型RDMA应用”,即传统的RDMA应用对lat和bw都非常敏感,而新型RDMA应用则在lat上可以相对宽松,但是却要求在短时间内爆发式的单播或者广播(因为RDMA在协议栈层就支持可靠广播)大量的数据包。

比较典型的一个应用是现在很火的大数据,IBM做了一个东西叫做Spark over RDMA,
该方案修改了Spark的底层网络框架,充分利用了Mellanox 100G RoCE的可靠广播功能,差不多比100G TCP性能提高了6~7倍。

除了大数据之外,存储市场是将来RDMA发展的一个主要方向,事实上RDMA已经成为了下一代存储网络的事实标准。国内有一家公司叫XSky给Ceph贡献了5%的代码,Ceph over RDMA就是他们实现的印象中EMC还给过他们一大笔投资。

存储网络中对RDMA的使用实际上很大一部分原因是现在SSD和NVMe SSD在企业级存储中的应用。

举个简单栗子:在10G网络上,如果用iscsi架构,iodepth=32,block-size=4k, random-read-write,TCP能实现的iops约为160~170k,这个数字对于一般的HDD阵列来讲已经足够,因为HDD阵列本身速度较慢。但是对于SSD单盘180k以上的iops,显然TCP性能是不足的,更遑论NVMe SSD单盘550k的ipos。因此,在SSD时代的存储网络中,RDMA几乎是一个必选项。

未来,应用服务器与服务器的延迟将低于600纳秒,甚至需求会更低。因此数据中心需要高效、低延迟的网络,RDMA则很可能成为这个时代的最优解。

如何应对服务器间的传输挑战?

以太网和 TCP/IP 在数据中心已经有很长的历史了,它们成为左右网络传输性能的关键因素。

但一个挑战是,TCP/IP协议中的传输方式是以操作系统为中心来完成的。如下图所示,将一个应用服务器中的数据传输到另一个服务器中,数据在服务器的Buffer内多次拷贝,OS 在将消息发送给网络适配器并通过网络传输之前复制消息。同时在接收端,OS 再次处理数据。

这些操作既增加了数据传输时延,又消耗了大量的CPU资源,无法很好得满足高性能计算的需求。

这种处理方式很像客服中心的接线员处理每一个电话的方式,需要将客户的问题记录并反馈给售后部门。当PC和服务器连接是偶尔的时候,这种方式并没有什么问题,但是当为大量用户提供服务的时候,这种以操作系统为中心的方式就会遇到拥堵、延迟等问题。

如今的数据中心与全球的用户连接着,需要即时、频繁或持续的相互访问,在竞争激烈的今天,时间就是金钱。金融服务每一纳秒的延迟可能就带来上百万的损失,即时对于商业网站来说,几秒的延迟可能就导致用户的流失。

因此,RDMA开始得到越来越多的关注!

什么是 RDMA

RDMA( Remote Direct Memory Access,远程直接地址访问技术 )是一种新的内存访问技术,可以让服务器直接高速读写其他服务器的内存数据,而不需要经过操作系统 / CPU 耗时的处理。

RDMA技术并不是一项新技术,最早诞生于20世纪90年代,如今已经广泛应用于高性能计算(HPC)中。随着数据中心高带宽、低时延的发展需求,RDMA也开始逐渐应用于某些要求数据中心具备高性能的场景中。

RDMA 不算是一项新技术,已经广泛应用于高性能(HPC)科学计算中。随着数据中心高带宽、低时延的发展需求,RDMA 也开始逐渐应用于某些要求数据中心具备高性能的场景中。

举个例子,2021 年某大型网上商城的双十一交易额再创新高,达到 5000 多亿,比 2020 年又增长了近 10%。如此巨大的交易额背后是海量的数据处理,该网上商城采用了 RDMA 技术来支撑高性能网络,保障了双十一的顺畅购物。

下面我们一起来看看 RDMA 让网络实现低时延的绝招吧。

RDMA 将服务器应用数据直接由内存传输到智能网卡(固化 RDMA 协议),由智能网卡硬件完成 RDMA 传输报文封装,解放了操作系统和 CPU。

这使得 RDMA 具有两大优势:

  • Zero Copy(零拷贝):无需将数据拷贝到操作系统内核态并处理数据包头部的过程,传输延迟会显著减小。

  • Kernel Bypass(内核旁路)和 Protocol Offload(协议卸载):不需要操作系统内核参与,数据通路中没有繁琐的处理报头逻辑,不仅会使延迟降低,而且也大大节省了 CPU 的资源。

  • 不需要CPU干预(No CPU involvement) :应用程序可以访问远程主机内存而不消耗远程主机中的任何CPU。远程主机内存能够被读取而不需要远程主机上的进程(或CPU)参与。远程主机的CPU的缓存(cache)不会被访问的内存内容所填充。

 简单来说,RDMA更像一个去掉中间商的技术,让数据能够快速获取。不再在操作系统、CPU等环节浪费时间。

那么怎么实现RDMA部署呢?

目前实现 RDMA 的方案有如下 3 种:分别是InfiniBand、RoCE(RDMA over Converged Ethernet,RDMA过融合以太网)和iWARP(RDMAover TCP,互联网广域RDMA协议)。

三大 RDMA 网络

目前,大致有三类 RDMA 网络,分别是 InfiniBand、RoCE(RDMA over Converged Ethernet,RDMA 过融合以太网)和 iWARP(RDMA over TCP,互联网广域 RDMA 协议)。RDMA 最早专属于 Infiniband 网络架构,从硬件级别保证可靠传输,而 RoCE 和 iWARP 都是基于以太网的 RDMA 技术。

InfiniBand

  • InfiniBand 是一种专为 RDMA 设计的网络。

  • 采用 Cut-Through 转发模式(直通转发模式),减少转发时延。

  • 基于 Credit 的流控机制(基于信用的流控机制),保证无丢包。

  • 要求 InfiniBand 专用的网卡、交换机和路由器,建网成本最高。

RoCE

  • 传输层为 InfiniBand 协议。

  • RoCE 有两个版本:RoCEv1 基于以太网链路层实现,只能在 L2 层传输;RoCEv2 基于 UDP 承载 RDMA,可部署于三层网络。

  • 需要支持 RDMA 专用智能网卡,不需要专用交换机和路由器(支持 ECN / PFC 等技术,降低丢包率),建网成本最低。

iWARP

  • 传输层为 iWARP 协议。

  • iWARP 是以太网 TCP / IP 协议中 TCP 层实现,支持 L2 / L3 层传输,大型组网 TCP 连接会消耗大量 CPU,所以应用很少。

  • iWARP 只要求网卡支持 RDMA,不需要专用交换机和路由器,建网成本介于 InfiniBand 和 RoCE 之间。

Infiniband是一种专为RDMA设计的网络,从硬件级别保证可靠传输 , 而RoCE 和 iWARP都是基于以太网的RDMA技术。不同的是RoCE是从 Infiniband 发展而来的,iWARP则是自成一派,但是 iWARP 的设计思想受到了很多 Infiniband 的影响。

Infiniband 技术先进,但是价格高昂,应用局限在 HPC 高性能计算领域,随着 RoCE 和 iWARPC 的出现,降低了 RDMA 的使用成本,推动了 RDMA 技术普及。

在高性能存储、计算数据中心中采用这三类 RDMA 网络,都可以大幅度降低数据传输时延,并为应用程序提供更高的 CPU 资源可用性。

其中 InfiniBand 网络为数据中心带来极致的性能,传输时延低至百纳秒,比以太网设备延时要低一个量级。

RoCE 和 iWARP 网络为数据中心带来超高性价比,基于以太网承载 RDMA,充分利用了 RDMA 的高性能和低 CPU 使用率等优势,同时网络建设成本也不高。

基于 UDP 协议的 RoCE 比基于 TCP 协议的 iWARP 性能更好,结合无损以太网的流控技术,解决了丢包敏感的问题,RoCE 网络已广泛应用于各行业高性能数据中心中。

在优缺点方面,Infiniband 从协议到软硬件封闭,其性能虽然最优,但成本也最高,因为需要更换全套设备,包括网卡、光缆和交换机等。这对于通用标准化的分布式存储场景并不友好。

对于 RoCE 和 iWARP 选择上,虽然 RoCE 在数据重传和拥塞控制上受到 UDP 协议自身的限制,需要无损网络的环境支持,但在综合生态、协议效率和复杂度等多方面因素评估下,笔者更加看好 RoCE 未来的发展,在极致的性能诉求下,RoCE 也会比 iWARP 具有更强的潜力。

RDMA在现代数据中心中有哪些应用?

随着数据中心发展,人们现在开始越来越多的追求高效的运营,以实现自助和高性能数据分析,RDMA会越来越多的被应用到未来数据中心。

一、用于应用服务器和远程桌面的RDMA

RDMA的好处之一就是硬件卸载,释放CPU能力来做更多的计算处理,考虑到当今企业和云数据中心的规模,释放CPU计算能力意味着可以节省更多的服务器和运营成本。或者可以为现有配置提供更多的应用程序处理空间,在满足不断增长的用户的同时延缓资本支出。

二、虚拟化环境下的RDMA支持

数据中心正在采用虚拟化进行服务器整合,并启用软件定义服务。为了在虚拟机 和设备中支持 RDMA,领先的虚拟化软件供应商和开源开发人员内置了对在虚拟机(VM)中运行 RDMA 的支持。

三、RDMA用于软件定义数据中心

软件定义数据中心(SDDC)采用节点互连以提供各种虚拟化服务。因此,网络对于支持虚拟机中计算服务的性能和可扩展软件定义存储中数据的移动变得至关重要。因此 IT 正寻求 SDDC 实现在支持敏捷性和成本效益方面的能力。RDMA提供了较低的延迟和低CPU开销,它正在全球最先进的数据中心中部署。

四、软件定义网络的RDMA

软件定义网络实现了控制平面决策功能与数据平面数据移动活动的分离。它允许在网络功能中内置更大的智能,并最大限度地提高传输效率。网络功能虚拟化是 SDN 的一个重要驱动因素,它支持标准化的控制功能,可以运行在普通服务器上,而不是昂贵的专用硬件上。RDMA与InfiniBand 网络的结合具有高吞吐量、低延迟、低 CPU 开销和 极好的可扩展性。

五、RDMA用于存储阵列和软件定义存储

与 SDDC 的其他方面一样,软件定义存储和超融合系统需要跨高度可伸缩的存储介质池进行快速数据移动。通过 RDMA,企业可以使用本地 InfiniBand 或 RoCE,通过 iSER (iSCSI over RDMA)、SMB Direct(SMB 3.0 over RDMA)、NVMe- of (NVMe over Fabric)等网络标准实现存储池和服务器之间的快速数据移动,获取更好的性能和低延迟。

六、私有云的RDMA

越来越多的企业正在通过部署虚拟化来实现服务器整合、更大的业务敏捷性、可伸缩的计算以及私 有和公共云。但是虚拟化可以产生更多的 I/O 流量,因为每个物理服务器中有更多的服务和应用程序在使用网络。而且,今天的服务器是跨多行进行通信的,而不仅仅是在单个机架内。对于 RDMA 来说,这是一个成熟 的体系结构。此外,新兴的数据中心特定于应用程序的设备和私有云的架构涉及在中间层 的网格中互连的整个共享资源系统。这就需要RDMA技术来支持高事务速率的吞吐需求。

七、RDMA与物联网

物联网正在向数据中心(包括私有云和公共云)提供不断增加的几何倍数据,这些数据最终将流向大数据分析。在存储和节点之间移动这些数据落, 这要求网络既高效又灵活。正如我们所看到的,这些都是 RDMA 设计的特点, 使其成为物联网的理想选择。

八、用于数据库和分析的RDMA

虽然许多企业依赖于可扩展的单片平台进行内存数据库分析,但大数据和内存云平台正在改变企业使用分析的方式。大数据已经在推动企业大规模的向 外扩展解决方案。数据移动对于这些分布式系统的性能至关重要。RDMA的低延迟值将发挥着至关重要的作用。

九、RDMA用于机器学习(ML)解决方案

随着世界继续推进数字化转型之旅,越来越多的数据可供企业做出更准确的商业决策。不具备这样的能力将使企业在与竞争对手的竞争中处于不利地位。任何 DevOps 决策都需要基于对相关数据分析,从而提高企业效率。

已经开始构建和使用 AI/ML解决方案的企业越来越多。这些解决方案不仅包括CPU,还包括其他高性能组件,如GPU、使用 NVMe 或持久性 内存(PM)的更快的所有闪存阵列(AFA)存储,这些存储都由处理 AI/ML集群内海 量数据通信所需的高性能网络设备连接。更快的数据通信带来了更快的分析速度,从而在竞争中脱颖而出。

未来,数据中心在整体网络架构上,RADM将可能迎来属于自己的时代!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

01Byte空间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值