基于阿里云eRDMA的GPU实例大幅提升多机训练性能

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 2023年3月23日14:00(中国时间),NVIDIA GTC开发者大会,阿里云开发者社区观看入口正式开放,阿里云高级技术专家李伟男;阿里云弹性计算产品专家宋迪共同带来了题为《基于阿里云eRDMA的GPU实例大幅提升多机训练性能》的分享

ECS.jpg

202332314:00(中国时间),NVIDIA GTC开发者大会阿里云开发者社区观看入口正式开放,阿里云高级技术专家李伟男;阿里云弹性计算产品专家宋迪共同带来了题为《基于阿里云eRDMAGPU实例大幅提升多机训练性能》的分享,以下是他们的演讲内容整理:

幻灯片2.JPG

eRDMA基于RDMA技术研发RDMA具有特性和优势在eRDMA上同样适用。


最初RDMA技术的出现以及被广泛应用,得益于其相对于传统的TCP网络通信协议有着明显的优势。数据从内存到网卡的搬移不再需要CPU的持续介入,而通过集成在物理网卡中的DMA引擎,通过直接内存访问的方式完成数据搬移。同时在搬移过程中避免了频繁的用户态和内核态切换,由应用层直接触发物理网卡上的DMA访问,从而大幅节约了CPU的开销,降低了延时,最终大幅提升了通讯效率。


在服务器节点间的数据通信过程中,CPU仅负责指定RDMA通信的源及目的物理地址,并触发通信动作,其余工作全部由物理网卡上的DMA引擎负责完成。


相比传统的TCP通信,近端及远端的物理网卡通过协作可以直接将本地的内存数据写入远端的内存地址空间,或从远端的物理内存空间读取数据到本地内存,待数据传输全部完成后,再通知CPU进行下一步动作,将数据传输和计算分开,从而实现高效的并行计算处理。

幻灯片3.JPG

RDMA高效处理分布式节点间的内存数据搬移,其本质DMA的访问。


DMA引擎同样可以对设备地址进行直接访问。在异构计算的应用场景中,服务器节点间同步的不仅内存的数据,还有GPU显存的数据。GDR便是为了实现物理绑卡在服务节点间直接搬移GPU显存的数据而实现。

为了支持功能,NVIDIAGPU驱动提供了一套标准接口,用于获取应用层申请的显存对应的物理地址。物理网卡可以使用这一物理地址完成DMA的直接访问。部分详细的实现以及应用实例代码可以在NVIDIA的官网上获取到


GPU作为标准的PCI设备根据物理服务器的硬件拓扑结构不同,与RDMA设备通信的链路也会有很大不同。如上图所示,展示不同的硬件拓扑结构下GDR通信的链路以及效率的对比。


RDMA设备与上图中的GPU1连接在同PCIe Switch下,两者之间的通信通过PCIe Switch即可完成种类型被称为PIX通信,通讯效率最好。


RDMA设备和GPU2位于两个不同的Root Complex下,两者之间的通信需要穿过两个PCIe Switch以及两个RC。该种类型的通信被称为PHB,通讯效率会受到影响。


RDMA设备与GPU3的距离更远它位于两个CPUsocket两者之间的通信需要穿过CPU之间的UPI通道才能完成。该种通信的类型命名为SYS,效率最差。一些CPU架构上能够支持这一级别的GDR,但在实际使用中需要根据实际应用情况进行权衡,选择打开或关闭。


幻灯片4.JPG

eRDMA技术阿里云在2021年云栖大会发布RDMA生态完全兼容。在RDMA环境中运行的应用层代码可实现无修改直接迁移eRDMA环境中。


另外,其基于阿里云弹性VPC的特点,可以支持更高的弹性扩展,同时可以复用VPC网络的租户隔离,实现数据通信安全。在VPC网络覆盖的区域均可以实现eRDMA组网,突破集群限制,实现近10万级的超大规模组网。


eRDMA基于第四代神龙CIPU,带宽可200G,可以通过扩展硬件的方式实现更高的带宽,极限时延可低至5us,吞吐量可达到30M数据包/s

幻灯片5.JPG

如何在阿里云弹性计算实例中激活eRDMA


可以通过弹性RDMA网卡(ERI)实现。它是可以绑定到ECS实例的虚拟网卡但必须依附于弹性网卡,在弹性网卡的基础上开启RDMA的功能。


ERI复用了弹性网卡所属的网络VPC)无需改变业务组网,可在原有的网络上使用RDMA功能,体验RDMA带来的超低延时。在基于第四代神龙架构的阿里云服务器上可使用eRDMA


eRDMA基于阿里云的VPC网络,因此不论纯粹的CPU服务器还GPU服务器,均可以通过添加eRDMA设备激活eRDMA功能。现有业务可以平滑进行升级,完全继承阿里云的用户界面。


上图右侧展示了两种视角,下方为神龙底层视角,上方为用户侧视角。


在神龙底层的实现上,它由神龙CIPU模拟出VirtIO网卡设备ERI设备,通过神龙的虚拟化层分配给弹性服务在用户视角两个设备,分别为VirtIOERI底层物理设备的访问对用户完全透明,用户仅需要安装阿里云提供的eRDMA驱动即可使用。

幻灯片6.JPG

eRDMA在技术上具有哪些优势?


首先,在eRDMA的实现中,使用了自研的拥塞控制算法,能够容忍VPC网络中的传输质量变化,比如延时的抖动、丢包问题,在有损的网络环境中依然能够拥有良好的性能表现。


另外,相比IB以及RoCE网络,其基础设施无需重新部署,也不需要进行特有的网络交换机配置它依托于阿里云的VPC网络,可以在全地域任意扩容部署,用户可以按需购买,弹性伸缩,确保资源高效利用。更重要的继承云服务器高可用性的特点,可以实现任意节点的故障迁移,保障业务快速恢复。


另外,结合阿里云控制台全面的性能监控工具,可以实现快速诊断网络异常,或根据性能监控的分析优化业务通讯模型,提升性能。


eRDMA全面兼容RDMA的生态以及Verbs接口,上图右侧展示当前eRDMA能够支持的Verbs Opcode,覆盖了RDMA的主要操作代码。但同时,需要注意,eRDMA基于可靠连接服务RC)实现的通信,同时支持TCP及CM两种建链方式,用户可以根据自己的应用进行选择。

幻灯片7.JPG

阿里云推出第一款支持eRDMAGPU实例ebmgn7ex它是ebmgn7e的升级版,搭配了8NVIDIA Ampere架构的GPUGPU间通过NVLink互联。整机内嵌两张eRDMA网卡,分别挂载在两个CPU Socket上,实现均衡的节点间数据通道。每4GPU卡共用一个eRDMA设备,共用最大100GeRDMA网络带宽。


与现有的弹性计算实例不同,ebmgn7ex使用的eRDMAEBS存储以及VPC网络均为共享带宽模式。在没有存储及VPC网络流量的情况下,eRDMA可以使用最大200G带宽存储或VPC网络存在流量时,会按照权重在不同的数据流量间进行带宽分配。但神龙CIPU在底层可以保证存储的性能,可以使得带宽的利用更高效,充分释放神龙CIPU的效能。

幻灯片8.JPG

主流的AI框架底层通过多种不同的通讯后端进行多机或多卡通信等,几大集合通讯库比如OpenMPIGlooNCCL对各种集合通信的模式和算法都有各自的实现。


NVIDIA 针对DPU实现了一套开源通讯库,可以通过PCIe和NVLink等通道,实现高速的机器间或GPU卡间的互联。借助软硬件协同,在性能优化上有得天独厚的优势,也是主流AI框架的推荐通讯后端。eRDMA对NCCL提供了很好的支持,可以做到无修改使用开源的NCCL通讯库,可以使能底层的eRDMA设备。相比较传统的TCP通信有更低的延时实现更高的吞吐能力,但可以做到与RDMA通信链路相当的性能。


另外,相比较RDMA,它更适合在云上大规模部署,为用户提供超高性价比普惠大带宽通信链路解决方案。

幻灯片9.JPG

ebmgn7ex相比于ebmgn7e采用同样的CPUGPU配置,但底层采用第四代神龙CIPU,将整机的网络带宽从65G提升200G,提升幅度接近200%。同时通过eRDMA技术使得通信延迟相比VPC网络降低了80%

我们选择了几个典型的多机训练应用场景对两者进行了对比测试。ebmgn7ex整体性能提升大约30%尤其在对时延以及带宽强依赖的场景中,比如vgg16、语音变换以及mae等,性能提升超过40%


与此同时,在用户成本接近的基础上,ebmgn7ex显然展示出了更好的性价比。初步估计,根据用户的业务场景,可实现20%-30%的成本优化。

幻灯片10.JPG

阿里云在2022年发布了CIPU云处理单元。如今,在阿里云上,云服务已经远远不是将一台服务器通过虚拟化分割资源后提供给用户,而通过CIPU智能调度和管理能力,将CIPUGPU存储网络等分拆为不同的资源池,根据用户的需求灵活地提供相应的服务。


由于存储网络和计算资源相互独立,在使用计算服务时,几类资源都可以根据用户的需求进行动态调整。比如CPU的核数、挂载ESSD数据盘的容量、网络带宽等,都可以根据业务对性能的需求而变化,相对于自建IDC提供了极大的弹性。


基于CIPU我们做了两件事:


第一将软件硬件化。将原来的虚拟化软件、网络传输、可信计算等功能通过CIPU的硬件加速来实现将云软件功能从服务器的CPU内存里解放出来,让计算资源池独立地提供服务。通过软件硬件化也提高了虚拟化和网络传输等功能的性能。


幻灯片11.JPG


第二,硬件软件化。通过软件定义硬件的方式,在CPU上提供了原本由硬件才能提供的RDMA功能。


当前,支持RDMA功能的主要解决方案有三种,分别为IBRoCE以及iWARPCIPU通过软件定义网络的方式,基于iWARP协议提供RDMA功能。


市面上采用iWARP协议的方案并不多,原因在于iWARP协议基于TCP传输相较于RoCEIB,需要大量内存访问,在大型网络中会影响服务器的CPU性能。并且由于采用了通用的TCP/IP网络设施,无法实现对RDMA传输的监控,在控制拥塞等方面也存在问题。


然而,阿里云采用了CIPU,通过软件定义的方式,实现了对网络数据的拥塞控制和流量管理。同时,CIPU将原来网络和虚拟化层上的内存和计算工作offloadCIPU的处理器上,不会影响计算节点的性能。

幻灯片12.JPG·

通过以上方式,CIPU规避了iWARP的缺点,以TCP/IP overlay方式组网。原先阿里云以RoCE协议提供的计算产品,首先需要一套overlay网络来做VPC网络,另外需要再组一套RoCE来进行RDMA的数据传输。eRDMA相较于原来的方案,将RDMA合并VPC网络里,整个拓扑变得非常简单便捷


阿里云的网络存储计算资源都连接在VPC网络里,通过CIPU,可以让AZ内所有资源都通过RDMA来进行数据的传输。传统的RoCEIB网络需要独立新建专门的机房,机房建好后网络拓扑难以改变。eRDMA实例无需新建机房,因此在机房成本方面相较于RoCE网络的方式有很大降低,具性价比。


另外,CIPU软件定义硬件可以实现弹性网络,因此eRDMA的计算集群无需额外的网络配置即可overlay类上链接AZ里所有资源只要是部署于单一AZ的资源,都可以被拉起提供给同一个计算资源集群使用,弹性能力大幅增强。同时,eRDMA基于通用计算网络,兼容性非常好,可以兼容几乎所有API

幻灯片13.JPG

正由于eRDMA能够让AZ里几乎任意规模的计算资源汇合成为独立的计算集群,因此非常适合于搭建AI训练集群。基于eRDMA协议,实例采用了ICL处理器每一台机器可以通过eRDMA200G网络进行互联,在可用区内申请的所有此类实例,互相之间都可以实现RDMA传输。

幻灯片14.JPG

需要特别说明,云上提供资源时一般通过虚拟化层,算力在虚拟化层会有一定的损耗,而阿里云采用CIPU提供金属实例则有所不同。实例前面的ebm三个字母代表了这一台裸金属实例整机的物理资源通过CIPU直接透传给用户,中间没有虚拟化层的损耗,在CIPU的云管理加持下,用户可以获得一台完整的物理机能力。


实例的价格相比于此前64G网络带宽的裸金属实例ebmgn7e反而有所降低这正CIPU对网络的兼容性带来的高性价比红利。同时,并非只有训练集群业务才能选择实例,一些通用的单机训练以及推理业务也可以选择。比如当前非常火的ChatGPTChatGPT模型在推理时需要500G以上的显存,因此该实例也是大模型推理的最优选择。


当前在云上可以通过测链接申请使用eRDMA实例。申请实例时的步骤选项也于此前有所不同。


第一,在操作系统选择时新增了自动安装eRDMA驱动选项,建议勾选,勾选后在实例内可以自动安装eRDMA的网络驱动


第二,在网络配置方面,ebmgn7ex需要选择两个固定的弹性网卡,两个弹性网卡不可释放,每个网卡可以提供100G的网络带宽在勾选上右eRDMA后,即可支持RDMA传输。在使用或测试中某些应用出现异常,也可以将勾选取消,此时实例的网络带宽仍然不变,但是仅支持VPC网络连接实例。

幻灯片15.JPG

阿里云将会逐步推出更多产品来支持eRDMAebmgn7ex实例也会在阿里云上形成完整的生态通过基于eRDMA互联,用户在集群中可以接入ECS通用计算实例,可以接入支持eRDMACPFS分布式存储来获得更低延时。并且由于裸金属与CPFS实现了RDMA传输,因此借助GPU Direct Storage功能,可以快速获取训练数据时节省更多NC的资源。


同时公共云上原有的安全功能以及阿里云在人工智能方面提供的各类PaaS服务,比如ACK容器服务、serverless计算服务、PAI平台的所有功能也都可以运行在基于eRDMA的实例上。

幻灯片16.JPG

使用阿里云支持eRDMA的实例用户,可以获得极高的计算集群弹性能力以分钟级极快速度在云上搭建RDMA训练集群,并根据需求进行弹性扩容,将极大节省训练业务时间。


eRDMA具有非常高的带宽,所有支持eRDMA的实例可以以数百G的带宽进行RDMA的低延时通信,并且不会增加成本,节省了搭建机房的费用。更重要的是,公共云的生态可以提供非常优质的计算服务,比如基于业务实现弹性伸缩、OSS、CPFS等各类存储。


eRDMA还提供方便的管理能力,以及公共云基于神龙架构提供的针对计算、存储、网络的稳定性保障,极高的稳定性也节省了运维和维护成本。


在阿里云the more you buythe more you save。

李伟男 宋迪.jpg

点击链接进入阿里云开发者社区直播间 / 扫描上方海报中的二维码进入NVIDIA GTC官网,均可观看完整视频。



相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
7天前
|
SQL 存储 JSON
阿里云数据库 SelectDB 内核 Apache Doris 2.1.0 版本发布:开箱盲测性能大幅优化,复杂查询性能提升 100%
亲爱的社区小伙伴们,Apache Doris 2.1.0 版本已于 2024 年 3 月 8 日正式发布,新版本开箱盲测性能大幅优化,在复杂查询性能方面提升100%,新增Arrow Flight接口加速数据读取千倍,支持半结构化数据类型与分析函数。异步多表物化视图优化查询并助力仓库分层建模。引入自增列、自动分区等存储优化,提升实时写入效率。Workload Group 资源隔离强化及运行时监控功能升级,保障多负载场景下的稳定性。新版本已经上线,欢迎大家下载使用!
阿里云数据库 SelectDB 内核 Apache Doris 2.1.0 版本发布:开箱盲测性能大幅优化,复杂查询性能提升 100%
|
8天前
|
存储 弹性计算 安全
创建阿里云ECS实例
创建阿里云ECS实例
76 4
|
4天前
|
存储 弹性计算 关系型数据库
阿里云服务器ESSD云盘性能等级PL0、PL1、PL2、PL3区别,云盘性能级别PL知识点参考
在我们选择阿里云服务器系统盘和数据盘时,如果是选择ESSD云盘,还需要选择云盘的云盘性能级别PL,PL性能级别有PL3、PL2、PL1、PL0四个性能级别的云盘规格,如果是通过阿里云的活动来购买云服务器的话,由于系统盘默认一般为20G或40G容量,可选的PL性能级别通常只有PL0(单盘IOPS性能上限1万)和PL1(单盘IOPS性能上限5万)可选择,有的用户肯能并不清楚ESSD云盘的性能等级之间有何区别,单盘IOPS性能指的是什么,本文为大家介绍一下ESSD云盘的云盘性能级别PL3、PL2、PL1、PL0相关知识点。
阿里云服务器ESSD云盘性能等级PL0、PL1、PL2、PL3区别,云盘性能级别PL知识点参考
|
13天前
|
存储 弹性计算 数据挖掘
阿里云4核8G云服务器价格多少钱?2024年阿里云4核8G云服务器价格及性能测评参考
2024年,阿里云针对4核8G配置的云服务器提供了多种实例规格,包括经济型e实例、通用算力型u1、计算型c7等。这些不同实例规格的服务器在性能参数和费用上都有所不同,以满足不同用户的需求。其中,通用算力型u1实例的4核8G云服务器在价格上表现出色。新用户专享活动价仅需955.58元一年,折合每月仅需80元。这一价格相较于同类产品来说,性价比极高。同时,该服务器配备了高性能的ESSD云盘,能够确保用户在存储操作系统、应用程序和数据时获得最佳体验。
|
11天前
|
存储 编解码 缓存
购买阿里云服务器如何选择实例?根据业务场景与细分场景选择实例规格
对于很多初次购买阿里云服务器的用户来说,面对众多可选择的云服务器实例规格,往往不知道如何选择,不同实例规格适用于不同的业务场景,本文为大家汇总了不同业务场景和细分场景下应该选择的主要实例规格,以及这些实例规格的主要性能和适用场景,如果你不知道如何选择阿里云服务器的实例规格,不妨根据自己的场景参考本文所推荐的主要实例规格来选择。
购买阿里云服务器如何选择实例?根据业务场景与细分场景选择实例规格
|
3天前
|
存储 人工智能 安全
阿里云第八代云服务器实例通用型g8i实例性能和适用场景介绍
随着云计算技术的不断演进,阿里云作为国内领先的云服务提供商,持续推出创新的云服务器实例以满足不同用户的需求。近日,阿里云宣布其第八代云服务器ECS g8i实例已经完成全新升级。g8i实例采用CIPU+飞天技术架构,并搭载最新的Intel 第五代至强可扩展处理器(代号EMR),不仅性能得到大幅提升,同时还拥有AMX加持的AI能力增强,以及全球范围内率先支持的TDX机密虚拟机能力。这些特性使得g8i实例在AI增强和全面安全防护两大方面表现出色,尤其适用于在线音视频及AI相关应用。
阿里云第八代云服务器实例通用型g8i实例性能和适用场景介绍
|
6天前
|
弹性计算 算法 应用服务中间件
倚天使用|Nginx性能高27%,性价比1.5倍,基于阿里云倚天ECS的Web server实践
倚天710构建的ECS产品,基于云原生独立物理核、大cache,结合CIPU新架构,倚天ECS在Nginx场景下,具备强大的性能优势。相对典型x86,Http长连接场景性能收益27%,开启gzip压缩时性能收益达到74%。 同时阿里云G8y实例售价比G7实例低23%,是Web Server最佳选择。
|
6天前
|
弹性计算 NoSQL 测试技术
倚天使用|Redis性能高30%,阿里云倚天ECS性能摸底和迁移实践
Redis在倚天ECS环境下与同规格的基于 x86 的 ECS 实例相比,Redis 部署在基于 Yitian 710 的 ECS 上可获得高达 30% 的吞吐量优势。成本方面基于倚天710的G8y实例售价比G7实例低23%,总性价比提高50%;按照相同算法,相对G8a,性价比为1.4倍左右。
|
13天前
|
弹性计算 缓存 数据库
2024最新阿里云2核4G配置服务器可选实例及收费价格参考
2024最新阿里云2核4G配置服务器可选实例及收费价格参考,2核4G配置1个月多少钱?2核4G服务器30元3个月、轻量应用服务器2核4G4M带宽165元一年、企业用户2核4G5M带宽199元一年
|
13天前
|
弹性计算 缓存 测试技术
阿里云2核4G配置云服务器ECS实例规格、收费标准及最新活动价格参考
阿里云2核4G配置云服务器ECS实例规格、收费标准及最新活动价格参考,阿里云服务器2核4G配置不是指e实例和u1实例,还可以选择计算型c7、计算型c6、计算型c8i、AMD计算型c8a、性能增强计算型c8ae、高主频计算型hfc8i、AMD计算型c7a、高主频计算型hfc7等规格,

相关产品

  • GPU云服务器