使用rdma加速大数据处理 -亚博888

智能系统平台 >> 计算加速 >> 使用rdma加速大数据处理

概述

我们已经处于信息爆炸的时代,不计其数的互联网用户和机器间的连接导致数据呈爆发式增长,时至今日我们获取的信息比以往任何时候都多,并且数据产生的速度仍然在高速增长。如图1所示:


图1 big data: unconstrained data growth


量变引起了质变,存储和分析快速增加的海量数据,为传统分析工具提出了新的挑战,我们使用和分析数据的方式有了翻天覆地的变化。

hadoop是当前流行的开源大数据存储和处理框架,具有高可靠性和扩展性,可以轻易地部署包括成千上万节点的集群。hadoop由两大核心部件组成:一个分布式文件存储系统hdfs,解决了海量数据的存取问题;一个易于使用的mapreduce编程模型,使得海量数据的分析变得更加容易。

但是,mapreduce模型也存在一些问题,导致其未能达到理想性能,这些问题包括序列化的障碍增加了reduce的时延、重复合并以及频繁的磁盘访问、缺乏支持高速互联技术等。在mapreduce执行期间,数据需要在各个datanode之间传输,map阶段处理好的数据,shuffle之后递交给reduce阶段。在此过程中,网络会是一个瓶颈,制约着reduce的性能。基于rdma协议的uda(unstructured data accelerator)插件可以加速mapper-reducer之间的数据传输,进而提高mapreduce的整体性能。


恒为rdma亚博888的解决方案

恒为科技的dxway大数据服务器,板载自带mellanox infiniband和10/40gb 以太网 roce(rdma over converged ethernet)自适应网卡,支持基于rdma的uda加速技术,以hadoop插件的形式加速大数据的处理。

uda使用基于network-levitated合并算法,在该算法中,数据直接在两个节点之间的内存里移动,省去了shuffle、merge以及reduce过程中的序列化操作。rdma(remote direct memory access)技术在加快map和reduce之间数据传输的同时,还可以将cpu从数据传输中解放出来,从而节省cpu资源。释放出来的cpu资源又可以启动新的数据进程,进而从总体上增加了系统的吞吐量。


uda性能

使用uda可以使大幅节省reduce过程的执行时间,并提高吞吐量,可以提升50%。并且,数据集越大,越可以从uda中受益。

以dxway2040型号为例(2u4节点,每节点2颗e5-2620,32gb内存,使用intel82599万兆以太网卡和mellanox infiniband 10/40gb网卡),对不同数据量下的时用时情况如下图所示:


 

图2:正常模式和uda模式下terasort用时对比


对于cpu利用率,以terasort-200gb数据量为例,其中一个节点的cpu利用率如图3、图4所示,未启用uda功能时,cpu利用率如图3所示:


图3:未启用uda时的cpu利用率


reduce阶段,cpu利用率累加和大约为20707。

启用uda功能时,cpu利用率如图4所示:


图4:启用uda时的cpu利用率


reduce阶段,cpu利用率累加和大约为13180。

由图3、图4可以看出,uda模式下,reduce过程大幅缩短,总体cpu使用率也比正常模式下低约36%。


结论

1)使用uda功能时,可以有效降低mapreduce程序的用时,大约可以节约40%的时间。

2)使用uda功能时,平均cpu利用率有所上升,但考虑到执行时间因素,reduce阶段,uda模式下的cpu利用率比正常模式低约36%。




方案系列详情
网站地图