阿里云eRDMA:用云计算推动RDMA通用化和平民化

人们对算力的追求似乎永无止境,但是可投入的成本通常是有限的,如何以较低的成本获得更强的算力则非常考验智慧,眼看着单台设备算力提升乏力,聪明的IT工程专家选择用服务器集群来构建更强的算力,努力把集群做得更大更强。

然而,计算集群的发展受限于网络通信技术。

TCP/IP技术固然可以把规模做大,但其本身的延迟表现以及传输效率无法满足更多应用的要求。RDMA虽然延迟数据大大降低,但无法用来构建大规模集群。

于是,业内在呼唤一种,既能大规模组网也能有更低延迟表现的网络方案。

日前,在2021阿里云弹性计算年度峰会上,阿里云发布的RDMA增强型实例,其所搭载的eRDMA加速能力就是比较理想的网络方案。并且,它以很低的成本,很高的易用性和通用性,推动RDMA向通用化和平民化迈进。

阿里云弹性计算产品线负责人、阿里云无影产品线负责人 张献涛

eRDMA能力可用于包括HPC、AI、数据库、大数据等多个场景,将RDMA变成一种通用的网络基础设施。

阿里云弹性计算产品总监 王志坤

随后,在与阿里云弹性计算产品线负责人张献涛和阿里云弹性计算产品总监王志坤两位负责人的采访中,我发现了阿里云在基础设施层面有许多值得称道的地方。

为什么现在推出了eRDMA技术?

熟悉基础架构的朋友都了解,RDMA不是什么新鲜的技术,只是现在对于RDMA的低延迟和高性能表现有了更迫切的需求。

说来也简单,只要计算集群的网络规模不断提升,节点之间数据交互的效率会受影响,节点和节点之间的访问延时会加剧,反映到应用上,会对业务应用的实时性带来制约,长此以往,这显然是无法接受的。

张献涛在采访中表示,对于大数据、AI以及高性能计算场景时,传统的TCP/IP也大致上能满足需求,只不过整体的通信效率会比较低,而随着微服务、服务网格、Serverless等新型计算模式的流行,频繁出现的RPC的调用对网络通信延迟的要求也都越来越高。

eRDMA是什么?

eRDMA(e代表Elastic弹性)依托于阿里云的神龙架构MoC卡,结合通用的服务器以及交换机,再加上私有的协议来实现RDMA,由于替代了专用网络交换机和网卡设备,所以,成本亲民。

从张献涛的介绍中了解到,用户无需为eRDMA付出太多额外成本,eRDMA的出现更像是阿里云为所有用户提供的一项福利,而这项福利将把原本高冷的RDMA变成一项普惠的服务。

众所周知,传统的RDMA对传输的可靠性要求很高,对网络丢包非常敏感。有测试数据显示,大于0.001的丢包率,RDMA网络有效吞吐急剧下降,0.01的丢包率就会使RDMA吞吐率下降为0,所以,RDMA需要的是高可靠的网络,最好是零丢包的那种。

因此,需要克服的技术挑战还是挺多的。技术实现上,阿里云的eRDMA采用了自研的拥塞控制(CC)算法,可以容忍VPC网络中的传输质量变化(延迟、丢包等),在有损的网络环境中依然拥有良好的性能表现。

虽然TCP/IP也能做到RDMA要求的可靠性,但是它是以牺牲时延来达到的可靠,而eRDMA在技术上的突破点在于,既提供了类似于TCP/IP的可靠性,同时也有极佳的延迟表现。

eRDMA的性能表现如何?

eRDMA可提供最低5微秒的时延,延迟表现优于同类技术方案(AWS的EFA为15.5微秒),虽然比基于Infiniband实现的RDMA方案高了几微秒,但与原来25微秒的VPC相比,大约降低了80%,由此,数据库、AI和大数据等应用获得30%~130%的性能提升。

值得强调的是,eRDMA最低5微秒的时延表现是在单个可用区组网中的表现。当然,如果跨地域组网,则时延表现会增长,但实际上,跨区域组网部署应用的情况很少见。因此,5微秒的时延有比较实际的参考价值。

常见的RDMA实现方案有Infiniband和RoCE网络两种(iWarp比较少见了),这两种方案虽然性能表现比eRDMA强,但都依赖于昂贵的专用网络设备,特别是要有优先级流量控制能力的交换机设备,运维成本也比较高,更重要的是,这两种方案都无法实现大规模组网。

eRDMA具备很强的扩展性,eRDMA突破了传统RDMA实现方案中无法大规模组网的问题,传统组网方案中,一台交换机只能支持三四百台设备,而eRDMA则能通过大规模组网构建更大的计算集群。

eRDMA的应用表现与生态前景

eRDMA简单易用,它一端对接的是用户熟悉的VPC网络,可以利用VPC提供的各种功能特性,能对接各种云上资源,获得资源弹性能力。另一端,eRDMA为应用提供的ERI(Elastic RDMA Interface)接口也完全参照了RDMA上流行的验证接口,对接开放生态。

从王志坤的介绍中了解到,eRDMA支持原生的Verbs接口的应用,实现对上层应用的无缝支持,来享受RDMA带来的性能收益,在整体性能方面都有了非常明显的提升, 即使是Spark和Redis这类数据库应用,即使不用做过多的改造,它的性能也有非常明显提升。

谈到大规模集群的应用场景,不得不提机器学习训练场景。

从阿里云过去几年服务AI场景的实践来看,主要都是从网络加速层面优化机器学习训练过程,而非在机器学习框架和模型层面做优化。通过利用AIACC加速引擎来优化机器学习训练集群的通信效率,从而提升在云上做机器学习训练的效率。

在张献涛看来,在应用需求的推动下,未来支持eRDMA或者是基于RDMA接口的应用会越来越多,以前主要是高性能计算相关应用,而现在,越来越多的大数据和AI应用也都在适配RDMA接口。目前看来,开源软件步伐相对快一些,商业化的软件则相对慢一点。

从eRDMA到神龙架构,将Offload进行到底

eRDMA本质上是一种CPU Offload(卸载)技术,如果没有这种Offload,则需要浪费许多宝贵的CPU资源。有测试数据显示,40Gbps的TCP/IP流能几乎会耗尽主流服务器的所有CPU资源。如果没有RDMA这种Offload,这将是计算集群技术的一场灾难。

eRDMA的技术载体阿里神龙架构MoC本身也是一种DPU(Data Process Unit),目前,阿里神龙架构的MoC卡和AWS的Nitro卡是市场上最常见、也是最成熟的两种DPU解决方案,DPU能为云服务商带来巨大的成本效益和竞争优势。

有数据显示,DPU每年能为IT产业节省高达60亿美金的成本,除了云厂商自研DPU,市场上出现了多家第三方DPU解决方案,同样是看中了DPU产业的巨大商业机遇,据了解,阿里云是业内最早自研DPU的云厂商,在许多性能参数上都达到了业内领先,甚至最佳水平。

从我的个人观察来看,阿里云eRDMA技术与AWS EFA(Elastic Fabric Adapter)在功能定位上一致,对比两种方案的技术参数能看到eRDMA的两大优势,第一,支持数据保序,第二,延迟表现更好一些。

阿里云以神龙架构为主的技术创新为其带来了许多明显优势,依托于此的基础设施也达到了业内领先水平。

最近,Gartner公布的阿里云版本的Gartner Solution ScoreCard 2021报告中对阿里云IaaS+PaaS九方面的能力进行打分,其中,计算、存储、网络以及安全部分得分都达到了业内领先水平,认可了阿里云在IaaS基础设施层面的实力。