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

seo优化 2024-12-02 11:10www.1681989.comseo排名

随着数据量的爆炸式增长,计算机硬件的处理能力面临着前所未有的挑战。尽管CPU和GPU等计算设备飞速发展,传统的以太网领域却显得滞后,成为制约性能提升的瓶颈。为了改善网络性能,众多产品线纷纷寻求解决方案,希望通过更高带宽、更低延迟的网络来提升业务能力。

一线工程师们经常感叹:

为何数据发送如此耗时?为何强大的服务器总是在网络传输上等待?为何网络性能如此不尽如人意?

本文将为您揭示RDMA高性能网络的神秘面纱,深入分析其性能优势,并介绍在机器学习领域的成功实践及未来展望。本文主要阐述RDMA技术产生的背景和应用场景,关于RDMA深度技术原理,请详阅“详解RDMA(远程直接内存访问)架构原理”文章。

那么,什么是RDMA高性能网络呢?

当我们提及计算机网络时,OSI七层模型、HTTP、TCP和IP等关键字可能会首先浮现在我们的脑海中。而本文要介绍的RDMA(Remote Direct Memory Access),则是一种全新的网络技术。

DMA(Direct Memory Access)是一种主机内存和外部设备之间传输数据的方式。在DMA的控制下,数据传输的控制权交给了外部设备的DMA控制器,从而节省了CPU资源。RDMA则在此基础上,利用相关的硬件和网络技术,使得服务器1的网卡能够直接读写服务器2的内存,从而实现高带宽、低延迟和低资源利用率的效果。

为了帮助您更好地理解RDMA的原理,我绘制了一张简易的示意图,对比RDMA和传统TCP/IP网络在服务器端发送数据的数据通路。从图中可以看出,RDMA的主要性能优势在于:

Zero Copy:减少数据拷贝次数,显著减小传输延迟。

Kernel Bypass和Protocol Offload:不需要内核参与,降低延迟并节省CPU资源。

RDMA并非新鲜事物,最早实现的Infiniband网络协议已经应用到了高性能计算中。Infiniband与传统TCP/IP网络差异巨大,需要专用硬件设备,成本高昂,并且增加运维难度。那么,是否有一种适合传统数据中心的RDMA网络呢?答案是肯定的。目前支持以太网的RDMA协议主要是RoCE(RDMA over Converged Ethernet)和iWARP(Internet Wide Area RDMA Protocol)。系统部经过性能、可用性等多方面的调研后,最终引入了RoCE网络。RoCE与Infiniband性能相近,而且产业生态更为健全,主流网卡厂商均已支持。

RoCE网络能够无缝融合到现有的IDC环境中,部署方便。它支持标准以太网协议和IP协议,因此更加方便运维,并且设备成本更低。

为什么高性能网络如此重要呢?为了形象说明,我绘制了一张图用数据来展示。从系统结构上看,网络处于磁盘性能之上、主存性能之下。随着服务器内存的不断增大,网络成为了制约性能提升的关键瓶颈。高性能网络与万兆以太网相比,带宽提升了1个数量级,小数据包的传输延迟更是提升了1-2个数量级。

那么,如何使用高性能网络呢?遗憾的是,大多数现有程序都需要进行移植才能充分利用高性能网络的优势。

为什么不行呢?有没有解决办法呢?尽管RDMA在性能上有巨大的提升,但其使用并不像TCP/IP那样方便。RDMA技术在百度的广泛应用及未来探索

在高性能计算领域,MPI(Message Passing Interface)作为最广泛采用的技术之一,已在机器学习应用中展现出其强大的驾驭能力。其在其他业务应用上的局限性促使百度系统部与深度学习实验室联手开发了一个类似Socket的编程接口,旨在提升性能并降低程序在RDMA网络上的移植难度。

RDMA(Remote Direct Memory Access)技术在百度受到了极大的关注。作为国内技术领域的领军企业,百度迅速接纳并消化这项新技术,为我所用。早在2014年,百度就开始引入RDMA网络,并陆续部署了lnfinband和RoCEv1集群。随后在SZWG和YQ01机房大规模部署的RoCEv2集群更是承载了深度学习、语音识别和自然语言处理等核心机器学习任务。目前,RDMA集群规模已扩大至约600台,成为国内最大的RoCEv2网络。

RDMA技术的优势在于其高带宽、低延迟和低CPU占用率,已被机器学习任务所青睐。在OpenMPI作为基础库的语音识别训练和NLP机器翻译中,使用40GRDMA相比10GTCP网络性能提升了1个数量级。而Paddle图像训练使用类Socket库也取得了显著的性能提升。

除了机器学习领域,RDMA网络的潜力远未被完全挖掘。系统部的同学们正在积极调研其在其他领域的应用可能性。首先是为存储系统和计算系统加速,利用RDMA的高带宽和低延迟特性释放CPU通信处理压力,并结合公司各业务对存储的需求情况进行探索。其次是为GPU异构计算通信加速,借助Zero Copy特性减少数据通路中的拷贝次数,大幅度降低GPU之间的传输延迟。特别是GDR技术,在经过多年的技术跟进和问题解决后,已经逐渐走向成熟。最新的测试结果显示,OpenMPI+GDR的方式能够大幅度降低跨节点GPU的传输延迟,并接近限速。RDMA网络将逐渐推广至公司的各项基础服务,为其加速。

作为一家不断追求技术创新的公司,百度将继续深入挖掘RDMA技术的潜力,并结合自身业务需求进行广泛应用。期待RDMA技术在未来的百度业务中发挥更大的作用。

来源:微信公众号 架构师技术联盟、作者:晗狄。

上一篇:怎么区别顶级域名和一级域名? 下一篇:没有了

Copyright © 2016-2025 www.1681989.com 推火网 版权所有 Power by