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

电脑杂谈  发布时间:2020-04-28 10:19:49  来源:网络整理

计算机性能_高性能手机_高性能计算机 网络

640?wx_fmt=jpeg

640?wx_fmt=gif&wxfrom=5&wx_lazy=1

随着数据的爆炸性增长,各个领域对计算机硬件的处理能力提出了更高的要求. 与计算设备(如CPU和GPU)的快速发展相比,传统以太网领域的发展明显滞后,逐渐成为性能瓶颈. 大量产品线希望通过使用更高带宽和更低延迟的网络来提高网络性能和业务能力.

对于在前线作战的工厂攻城部门,我们经常有这种感觉: 为什么发送数据需要这么长时间?为什么具有如此强大计算能力的服务器总是等待很长时间才能完成网络传输?为什么互联网会公然落后?

要在几分钟内更换它吗?

本文将介绍RDMA高性能网络,分析性能优势,介绍机器学习领域的成功实践以及下一步. 注意: 本文主要介绍RDMA技术的背景,应用场景和案例. 有关RDMA深度技术的原理,请参阅文章“”.

什么是RDMA高性能网络

说到计算机网络,我相信每个人都会立即看到七层OSI模型,例如HTTP,TCP和IP之类的关键字. 但是本文介绍了另一种网络: RDMA(远程直接内存访问).

高性能手机_高性能计算机 网络_计算机性能

首先介绍DMA,作为在主机内存和外部设备之间传输数据的一种方式,在系统完成内存的虚拟地址和物理地址映射后,将数据传输的控制权交给外部的DMA控制. 设备设备,然后所有数据传输操作都由外部设备完成. 这样可以带来很大的好处就是节省CPU资源.

所谓的RDMA可以简单地理解为使用相关的硬件和网络技术. 服务器1的网卡可以直接读写另一服务器2的内存高性能计算机 网络,最终达到高带宽,低等待时间和低资源利用率的效果. 如下图所示,应用程序不需要参与数据传输过程,只需要指定内存的读写地址,开始传输并等待传输完成即可.

640?wx_fmt=png

为了便于大家更好地理解,笔者画了一个简单的图来比较RDMA和传统TCP / IP网络在服务器端发送数据的数据路径. 可以看出,RDMA的性能优势主要体现在以下几个方面.

零拷贝: 减少数据拷贝数. 由于没有将数据复制到内核模式并处理数据包报头的过程,因此传输延迟将大大减少.

内核绕过和协议卸载: 不需要内核参与. 数据路径中没有繁琐的头逻辑,不仅减少了延迟,而且大大节省了CPU资源.

640?wx_fmt=jpeg

近年来没有提出RDMA. 实际上,最早实现RDMA的网络协议Infiniband已被应用于高性能计算. 但是,Infinband与传统的TCP / IP网络有很大不同,它需要特殊的硬件设备,价格昂贵,并且会大大增加运维成本.

高性能手机_计算机性能_高性能计算机 网络

那么,有没有适合传统数据中心的RDMA网络?

当前,支持以太网的RDMA协议主要是RoCE(融合以太网上的RDMA)和iWARP(Internet广域RDMA协议). 经过对性能和可用性的各种研究之后,系统系的学生终于介绍了RoCE网络. RoCE和Infiniband的性能基本相似,并且比iWARP行业生态系统更完整,后者已得到主流网卡制造商的支持.

此外,RoCE网络在数据链路层支持标准以太网协议,在网络层支持IP协议,因此可以无缝集成到现有的IDC环境中,便于部署;其次,RoCE网络标准以太网和IP协议更便于操作和维护,设备成本更低.

为什么高性能网络如此重要

说了这么多之后,有些学生可能会问,性能可以提高多少?它可以在现有硬件下取得立竿见影的效果吗?

为了便于大家快速理解,作者绘制了以下图片,并使用数据来说明图片.

就系统结构而言,网络性能高于磁盘性能和主内存性能. 如下图所示,当前增加的服务器内存可减少计算过程中的存储压力,因此网络在很大程度上已成为性能瓶颈. 与10 Gb以太网相比,高性能网络的带宽增加了1个数量级,小数据包的传输延迟增加了1至2个数量级.

640?wx_fmt=jpeg

高性能手机_高性能计算机 网络_计算机性能

如何使用高性能网络

那么高性能网络有多容易?是否可以通过直接更换硬件设备来使用该程序?这次,编辑器只能一劳永逸地给负能量: 大多数现有程序都需要移植.

为什么不呢?有解决办法吗?

与传统的TCP / IP网络相比,RDMA的性能大大提高,但使用起来不如TCP / IP方便. 当前,在高性能计算中使用最广泛的方法是MPI(消息传递接口). 这种方法可以很好地控制与机器学习相关的应用程序,但是由于其自身的局限性,在许多其他企业中它并不是很好. 采用. 为了更好地在公司的机器学习业务中使用,系统系的学生和深度学习实验室的学生开发了类似Socket的编程接口,从而提高了性能并大大降低了RDMA网络上程序移植的难度.

在百度中使用RDMA

我相信看到这一点,一些学生已经有尝试的热情. 作为在中国最重视技术的互联网公司,我们工厂的学生当然不会让这项新技术通过,他们必须使用它来消化它,然后再为我使用.

该公司于2014年左右开始引入RDMA网络,并相继部署了lnfinband集群和RoCEv1集群. 2015年,百度分别在SZWG计算机室和YQ01计算机室中部署了大型RoCEv2集群,以承载与深度学习,语音识别和自然语言处理相关的机器学习任务. 目前,RDMA群集的整体大小约为600,这是中国最大的RoCEv2网络.

与传统的TCP / IP网络相比,RDMA具有高带宽,低延迟和低CPU使用率的特点,受到机器学习任务的青睐. 其中,以OpenMPI为基础库的语音识别训练和NLP机器翻译,相对于10GTCP网络,40G RDMA通信性能提高了一个数量级. 桨图像训练使用类似套接字的库高性能计算机 网络,这也具有良好的性能优势. 为了更直观地理解,对于OpenMPI BenchMark,相对于10GTCP,40GRDMA可以将速度提高1-2个数量级.

高性能手机_计算机性能_高性能计算机 网络

在其他领域中使用RDMA的前景

除了机器学习领域外,RDMA网络还能在其他领域取得良好的成绩吗?

目前,系统系的学生正在积极研究RDMA网络在其他领域的使用,包括以下方面.

1. 加速存储系统和计算系统,充分利用高带宽和低延迟,并释放CPU通信处理.

目前,行业中许多公司已开始探索RDMA在存储中的应用,包括iSCSI,SamBa,NVMe,Hadoop等. 系统系的学生还将探索每个公司业务的存储需求.

2. 要加速GPU异构计算通信,请充分利用零拷贝功能,减少数据路径中的拷贝数,并大大减少GPU之间的传输延迟.

640?wx_fmt=jpeg

GDR技术自2014年以来一直在跟进,由于相关的技术原因,它尚未应用于实际业务. 随着这些技术问题的不断解决,该技术正在逐渐成熟. 从最新的测试结果来看,OpenMPI + GDR方法可以大大减少跨节点GPU的传输延迟,并且传输带宽也可以达到速度极限. 我相信它将很快加速实际应用中的异构计算.

3. RDMA网络和传统数据中心的完美融合,加快了基本服务的速度.

将来,它将逐步扩展到公司的各种业务,以加速各种基本网络服务. 当然,系统部门的研发学生还将为各种业务服务提供更方便的网络接口.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-191670-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 金地藏
        金地藏

        以后12海里直接不承认

      • 程帅
        程帅

        除非对方并不是通过而是在上面逗留或作出危害你家安全的事情

      • 刘禹锡
        刘禹锡

        玻璃瓶成本并不高

      热点图片
      拼命载入中...