您现在的位置:CDN高防 > 服务器租用帮助 > 谈谈高性能RDMA网络优势和实践

谈谈高性能RDMA网络优势和实践

发布时间:2020-04-02 12:00:05   文章来源:CDN高防   作者:程 凤
本文由程 凤编辑,关键词:RDMA,RDMA技术,高性能网络,远程直接内存访问,标题:谈谈高性能RDMA网络优势和实践,主要内容讲解的是:本文将带来RDMA高性能网络,分析性能优势,介绍在机器学习领域的成功实践,以及下一步的展望。
谈谈高性能RDMA网络优势和实践
随着数据的爆炸式增长,各个领域对计算机硬件的处理能力有了更高的要求。相比于CPU和GPU等计算设备的快速发展,传统的以太网领域发展明显滞后并逐渐成为性能瓶颈。大量产品线都希望改善网络性能,通过使用更高带宽,更低延迟的网络来提升业务能力。
对奋战在一线攻城师来说,常常会有这样的感受
为什么发送数据要花这么长时间?为什么计算能力这么牛的服务器老是要长时间等待网络传输完成?为什么网络能明目张胆的拖后腿?
分分钟想换掉它有木有?
本文将带来RDMA高性能网络,分析性能优势,介绍在机器学习领域的成功实践,以及下一步的展望。说明:本文主要阐述RDMA技术产生的背景和应用场景、案例,关于RDMA深度技术原理,请参看“详解RDMA(远程直接内存访问)架构原理”文章。
什么是RDMA高性能网络
提到计算机网络,相信大家的脑海中马上会浮现OSI七层模型,HTTP、TCP和IP这些关键字。但是本文中描述的是另外一种网络: RDMA (Remote Direct Memory Access)。
首先介绍DMA,作为主机内存和外部设备之间传输数据的一种方式,系统将内存做完虚拟地址和物理地址映射之后,就将数据传输的控制权交给了外部设备的DMA控制器,然后所有的数据传输操作都由外部设备来完成。这样能够带来一个非常大的好处就是节省了CPU资源。
所谓RDMA,可以简单理解为利用相关的硬件和网络技术,服务器1的网卡可以直接读写另一个服务器2的内存,最终达到高带宽,低延迟和低资源利用率的效果。如下图所示,应用程序不需要参与数据传输过程,只需要指定内存读写地址,开启传输并等待传输完成即可。
谈谈高性能RDMA网络优势和实践
为了方便大家更好的理解,笔者画了一张简易的示意图来对比RDMA和传统TCP/IP网络在Server端发送数据的数据通路。可以看到,RDMA的性能优势主要体现在以下几个方面。
Zero Copy:减少数据拷贝次数。由于没有将数据拷贝到内核态并处理数据包头部的过程,传输延迟会显著减小。
Kernel Bypass和Protocol Offload:不需要内核参与。数据通路中没有繁琐的处理报头逻辑,不仅会使延迟降低,而且也大大节省了CPU的资源。
谈谈高性能RDMA网络优势和实践
RDMA并非最近几年才提出,事实上最早实现RDMA的网络协议Infiniband早已应用到了高性能计算中。但是Infinband和传统TCP/IP网络相比区别非常大,需要专用的硬件设备,承担昂贵的价格,并且会大大增加运维人力成本。
那么,是否有适合传统数据中心的RDMA网络?
目前支持以太网的RDMA协议主要是RoCE (RDMA over Converged Ethernet)和iWARP (Internet Wide Area RDMA Protocol),系统部同学通过性能、可用性等多方面的调研后,最终引入了RoCE网络。RoCE和Infiniband的性能基本相近,而且比iWARP产业生态更加健全,主流网卡厂商都已支持。
除此之外,RoCE网络在数据链路层支持标准以太网协议,在网络层上支持IP协议,因此可以无缝融合到现有的IDC环境中,部署方便;其次由于RoCE网络支持标准以太网和IP协议,更加方便运维,而且设备成本更低。
高性能网络为什么这么重要
说了这么多,可能有同学会问,性能能够到底能够提升多少呢?放在现有的硬件条件下是否能够取得立竿见影的效果?
为了方便大家快速的理解,笔者画了下面一张图用数据来做形象的说明。
从系统结构上来讲,网络处于磁盘性能之上,主存性能之下。如下图所示,目前服务器内存越来越大减少了计算过程中存储的压力,因此网络在很大程度上成为了性能瓶颈。高性能网络和万兆以太网相比,带宽提升了1个数量级,小数据包的传输延迟更是提升了1 - 2个数量级。
谈谈高性能RDMA网络优势和实践
如何使用高性能网络
那么高性能网络的易用性如何?是不是直接换好硬件设备就能把程序放上去用了?小编这次只能实事求是的给出一次负能量:大多数现有程序都是需要作移植的。
为什么不行?有没有解决办法?
RDMA在性能上相比传统TCP/IP网络有非常大的提升,但是使用上却并没有TCP/IP方便。目前在高性能计算中使用最广泛的方式是MPI(Message Passing Interface),这种方式能够很好的驾驭机器学习相关的应用,但是由于自身的局限性,在很多其他业务上并不能很好的使用。为了更好的在公司的机器学习业务中使用,系统部同学联合深度学习实验室同学开发了一个类似Socket的编程接口,在提升性能的同时,大大降低了程序在RDMA网络上的移植难度。
RDMA在百度的使用情况
相信看到这里,有些同学已经有跃跃欲试的热情了。作为国内最重视技术的互联网公司,我厂的同学当然不会放过这项新技术,必然要拿来消化消化,然后为我所用。
公司在2014年前后开始引入RDMA网络,先后部署了lnfinband集群和RoCEv1集群。2015年,百度分别在SZWG机房和YQ01机房大规模部署了RoCEv2集群,分别承载了深度学习,语音识别和自然语言处理等相关的机器学习任务。目前RDMA集群总体规模为600台左右,这是国内最大的一个RoCEv2网络。
RDMA相比传统TCP/IP网络有高带宽、低延迟和低CPU占用率等特性,已深得机器学习任务的青睐。其中语音识别训练和NLP机器翻译,使用OpenMPI作为基础库,40G RDMA通信性能相对于10GTCP网络提升了1个数量级。Paddle图像训练使用类Socket库,也有不错的性能收益。为了更加直观的理解,对于OpenMPI BenchMark,40GRDMA相对于10GTCP能够提速1-2个数量级。
除了机器学习领域,RDMA网络能否在其他领域取得很好的效果呢?
目前系统部的同学正在积极调研RDMA网络在其他领域中的使用,大致包括了如下几个方面。
1.为存储系统和计算系统加速,充分利用高带宽低延迟以及释放CPU通信处理。
目前业内很多公司已经开始探索RDMA在存储上的应用,包括iSCSI,SamBa,NVMe,Hadoop等等。系统部的同学也会结合公司各个业务对存储的需求情况来进行探索。
2.为GPU异构计算通信加速,充分利用Zero Copy的特性,减少数据通路中的拷贝次数,大大降低GPU之间的传输延迟。
谈谈高性能RDMA网络优势和实践
GDR这项技术从2014年起就一直在跟进,之前由于相关技术原因一直没有应用到实际的业务中。随着这些技术问题不断得到解决,这项技术正在逐渐走向成熟。从最新的测试结果来看,OpenMPI+GDR的方式能够大幅度降低跨节点GPU的传输延迟,而且传输带宽也能够接近限速,相信不久就能在实际应用中为异构计算提速。
3.为基础服务加速,由于RDMA网络和传统数据中心的完美融合。
今后会逐渐推广至公司的各项业务中,为各项基础网络服务加速。当然,系统部的研发同学也会提供使用更方便的网络接口为各项业务服务。
本文tag: RDMA RDMA技术 高性能网络 远程直接内存访问
本文链接:http://www.cdngaofang.com/news/1156.html
下一篇:详解RDMA(远程直接内存访问)架构原理
上一篇:裸金属服务器满足用户多样化需求

相关推荐:

随机推荐:

QQ:317197518

电子邮箱:317197518@qq.com

公司业务:我们提供海内外服务器租用,公司产品丰富:独立服务器、虚拟主机、ADSL拨号、VPS云主机等,价格便宜,欢迎选购

公司地址:重庆市渝北区赛迪路2号金山商业中心A座6F

CDN高防:一家全国领先的真实硬防服务器的提供商
Copyright 2018-2020 © www.cdngaofang.com All Rights Reserved.

分享按钮