BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

RoCE技术助力微信深度学习框架Amber加速

| 作者 钟轶 关注 0 他的粉丝 , 陈力 关注 0 他的粉丝 发布于 2017年8月24日. 估计阅读时间: 6 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

RDMA,其全称为Remote Direct Memory Access(远程内存直接访问),是新一代数据中心高速网络互联的基础协议之一。RDMA协议来自于高性能计算领域,它改进了传统的TCP/IP协议栈在高速网络下的诸多缺点,使得网络通信数据传输不再经过内核或CPU,取而代之的则是直接通过网卡读写内存来进行,从而在应用上能够充分利用万兆以上的网络带宽。

随着模型复杂度和数据规模的快速增长,深度学习系统需要越来越多的GPU(多机多卡)进行并行训练。时至今日,GPU往往使用高吞吐量、低延迟的RDMA 网络传输技术,而大规模、高拓展性的深度学习系统,则需要基于以太网的RDMA (RDMA over Converged Ethernet)技术,即RoCE。

通常,在大规模数据中心使用RDMA有两种技术选择,Infiniband或RoCE。两者相比,RoCE更适用于目前的数据中心网络架构,因现有的互联网数据中心本身就是使用以太网建设的,所以在运营难度、人力安排及成本控制等方面,RoCE具有明显优势。RoCE被认为是可以支持大规模网络RDMA的技术,因此也同样适用于Amber。

与业界相流行的TensorFlow、MXNET相同,Amber也是一种深度学习计算框架,它是由微信-香港科技大学人工智能联合实验室(WHAT Lab)所研发,支持大规模分布式并行深度学习计算。其数据传输模块中的RDMA功能,由香港科技大学陈凯教授开发的RoCE提供技术支持,使得Amber能够充分使用硬件RDMA性能,实现低延迟、高吞吐量的模型传输。

在现有的多机学习任务中,性能瓶颈主要表现在计算和网络上,而对于网络密集型的任务,网络传输则往往成为整个系统的瓶颈点,因此追求更高效的网络传输方式,便成为当前机器学习多机任务的一个主要关注点。分布式计算需要将数据或者模型在参与计算的机器之间传输,所以Amber希望能够使用低延迟、高带宽、高效率的RDMA作为网络传输协议。另需指出,Amber将会部署在腾讯现有的IDC数据中心之中。

以下对测试方法和对应结果做一个简单介绍。

为了对使用RoCE技术的Amber(Amber/RoCE)和使用TCP的Amber(Amber/TCP)进行一系列性能对比,我们主要就三个重要的深度学习应用进行了测试,它们分别是朋友圈分类(ego_network)、对话模型(deep_conversation)、图像识别模型(VGG和AlexNet)。

整体性能

测试目标是Amber作为分布式计算框架的处理能力,使用的度量标准是每秒钟处理数据样本的个数(Samples per second)。每秒钟处理的数据样本越多,表明计算框架的处理能力越强。在测试中,我们使用了localps和default两种参数服务器配置模式。

从上图可见,整体来说,在多种模式和多种应用下,使用RoCE技术的Amber都表现出更高性能:使用localps的平均加速倍数(Amber/RoCE的任务完成时间与Amber/TCP的任务完成时间的比值)为1.93倍,而使用default的更高达3.072倍,这是因为default模式需要的网络传输量更大,因此更快的网络技术会得到更明显的体现。

网络带宽

分布式应用的一个重要微观指标是网络带宽的利用率,它可以用一个应用的平均吞吐量来衡量。吞吐量越高,则表明一个应用可以更有效地使用网络资源在单位时间内可以完成更多的任务。下图中标识了Amber/RoCE和 Amber/TCP在各个任务中的的平均网络吞吐量。

可见,与Amber/TCP相比,Amber/RoCE能更有效利用网络资源,达到平均3.07倍的吞吐量。这也对应了Amber/RoCE在整体性能上的优势。

系统扩展性

在并行计算领域,加速比表示当并行算法与对应的顺序执行算法相比较时速度快了多少,而理想加速比则是系统所能达到的最优扩展性。当某一并行算法达到理想加速比时,若将处理器数量加倍,执行速度也会加倍,即称为具有“优秀的可扩展性”。下表以效率为指标,对比了Amber/TCP和Amber/RoCE的可扩展性。效率为加速比和参与计算的节点数目的比值,越接近1代表多机性能的线性扩展性越好。图像识别应用往往会使用比较深的神经网络,所以其模型也较大,多个机器在训练中的模型同步对于网络传输系统的可扩展性也更为敏感。因此,为了体现Amber/RoCE的可扩展性,我们采用了三个著名的用于图像识别的深度学习模型, CNN、VGG16和AlexNet。

从上表可以看出,Amber/RoCE表现出优异的可扩展性。此外,基本上可以认为,多机性能是单机性能的线性扩展,这也有利于更大规模的模型并行跑在不同机器上而不用担心网络带来较大的性能损耗。

综上所述,RoCE技术适用于大规模数据中心的RDMA网络传输,而对于需要在类似数据中心环境内部署的Amber深度学习框架,我们为之开发了相应的网络传输系统。实验表明,使用RoCE可以大大加快深度学习任务的完成时间,提高网络的利用率,并且能够达到近似最优的可扩展性。RoCE网络技术也适用与其他深度学习计算框架,WHAT Lab的并行计算团队也在对其他的框架进行RoCE传输层的开发。

作者简介

陈力,香港科技大学计算机科学与工程系的博士四年级。他的研究领域为数据中心网络,主要课题有:光网络,传输层协议,软件定义网络,以及大数据系统。

钟轶,微信技术架构部后台开发工程师。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT