说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Hadoop+GPU强强联手的性能探索

HTML文档下载 WORD文档下载 PDF文档下载
Hadoop并行处理可以成倍地提高性能,GPU也日益成为计算任务的重要分担者,Altoros Systems研发团队一直致力于探索Hadoop+GPU的可能性,以及在实际的大规模系统中的实现,这篇文章就是他们的部分研究成果。

Hadoop并行处理可以成倍地提高性能。现在的问题是如果将一部分计算工作从CPU迁移到GPU会怎么样?能否更快理论上,这些处理如果经过了并行计算的优化,在GPU上执行会比CPU快50-100倍。 作为大数据专家和PaaS的推动者,Altoros Systems研发团队一直致力于探索Hadoop+GPU的可能性,以及在实际的大规模系统中的实现,这篇文章就是他们的部分研究成果。作者 Vladimir Starostenkov是Altoros Systems的资深研发工程师,他在实现复杂软件架构( 包括数据密集型系统和Hadoop驱动的应用程序)方面有五年经验,而且 对人工智能和机器学习算法也很感兴趣。

技术现状:

多年来,有很多将Hadoop或MapReduce应用到GPU的科研项目。 Mars可能是第一个成功的GPU的MapReduce框架。采用Mars技术,分析WEB数据(搜索和日志)和处理WEB文档的性能提高了1.5-1.6倍。 根据Mars的基本原理,很多科研机构都开发了类似的工具,提高自己数据密集型系统的性能。相关案例包括 分子动力学、数学建模(如Monte Carlo)、基于块的 矩阵乘法、财务分析、图像处理等。

还有针对网格计算的 BOING系统,它是一个快速发展、志愿者驱动的中间件系统。尽管没有使用Hadoop,BOINC已经成为许多科研项目加速的基础。例如, GPUGRID是一个基于BOINC的GPU和分布式计算的项目,它通过执行分子模拟,帮助我们了解蛋白质在健康和疾病情况下的不同作用。多数关于医药、物理、数学、生物等的 BOINC项目也可以使用Hadoop+GPU技术。

因此,使用GPU加速并行计算系统的需求是存在的。这些机构会投资GPU的超级计算机或开发自己的解决方案。硬件厂商,如Cray,已经发布了配置GPU和预装了Hadoop的机器。Amazon也推出了 EMR(Amazon Elastic MapReduce),用户可以在其配置了GPU的服务器上使用Hadoop。

超级计算机性能很高,但是成本达数百万美元;Amazon EMR也仅适用于延续几个月的项目。对于一些更大的科研项目(两到三年),投资自己的硬件更划算。即使在Hadoop集群内使用GPU能提高计算速度,数据传输也会造成一定的性能瓶颈。以下会详细介绍相关问题。

工作原理

数据处理过程中,HDD、DRAM、CPU和GPU必然会有数据交换。下图显示了CPU和GPU共同执行计算时,数据的传输。


图:数据处理时,各组件之间的数据交换

  • 箭头A 数据从HDD传输到DRAM(CPU+GPU计算的初始步骤)
  • 箭头B CPU处理数据(数据流:DRAM->chipset->CPU)
  • 箭头C GPU处理数据(数据流:DRAM->chipset->CPU->chipset->GPU->GDRAM->GPU)

完成任何任务所需的时间总量包括:

  • CPU或GPU进行计算所需的时间
  • 数据在各个组件间传输所需的时间

根据Tom’s HARDWARE 2012年的CPU图表,CPU的平均性能在15到130GFLOPS之间,而Nvidia GPU的性能范围在100到3000+ GFLOPS。这些都是统计值,而且很大程度上取决于任务的类型和算法。无论如何,在某些情况下,一个GPU可以使节点速度加快5至25倍。一些开发者声称,如果你的集群包括多个节点,性能可以提高50到200倍。例如,MITHRA项目达到了254倍的性能提升。

性能瓶颈:

那么,GPU对数据传输会有什么影响?不同类型的硬件传输数据的速率不同,超级计算机已经在GPU上做过相关优化,一个普通的计算机或服务器在数据传输时可能会慢得多。 通常在一个CPU和芯片集数据传输速率在10到20GBps之间(图中的Y点),GPU和DRAM间的数据交换速率在1到10GBps之间(图中的X点)。虽然一些系统速率可达10GBps(PCI-E v3),大部分标准配置的GDRAM和DRAM间数据流速率是1GBps。(建议在真实的硬件环境中来测量实际值,因为CPU内存带宽[X和Y]以及对应的数据传输速率[C和B]可能差不多也可能相差10倍)。

虽然GPU提供了更快的计算能力,GPU内存和CPU内存间的数据传输(X点)却带来了性能瓶颈。因此,对于每一个特定的项目,要实际测量消耗在GPU上的数据传输时间(箭头C)以及GPU加速节省的时间。因此,最好的方法是根据一个小集群的实际性能估计更大规模系统的运行情况。

由于数据传输速率可能相当慢,理想的情况是相比执行计算的数目,每个GPU输入/输出数据的量比较小。切记:第一,任务类型要和GPU的能力相匹配,第二任务可以被Hadoop分割为并行独立的子流程。 复杂的数学公式计算(例如矩阵乘法),大量随机值的生成,类似的科学建模任务或其它通用的GPU应用程序都属于这种任务。

可用的技术

  1. JCUDA:JCUDA项目为Nvidia CUDA提供了Java绑定和相关的库,如JCublas、JCusparse(一个矩阵的工作库)、JCufft(通用信号处理的Java绑定)、JCurand(GPU产生随机数的库)等等。但 它只适用于Nvidia GPU。
  2. Java Aparapi。Aparapi在运行时将Java字节码转换为OpenCL,并在GPU上执行。所有的Hadoop+GPU计算系统中,Aparapi和OpenCL的前景最被看好。Aparapi由AMDJava实验室开发,2011年开放源代码,在AMD Fusion开发者峰会的官网上可以看到Aparapi的一些实际应用。OpenCL是一个开源的、跨平台的标准,大量硬件厂商都支持这个标准,并且可以为CPU和GPU编写相同的代码基础。如果一台机器上没有GPU,OpenCL会支持CPU。
  3. 创建访问GPU的本地代码。访问GPU本地代码进行复杂的数学计算,要比使用绑定和连接器性能高很多,但是,如果你需要在尽可能短的时间内提供一个解决方案,就要用类似Aparapi的框架。然后,如果你对它的性能不满意,可以将部分或整个代码改写为本地代码。可以使用C语言的API(使用Nvidia CUDA或OpenCL)创建本地代码,允许Hadoop通过JNA(如果是Java应用程序)或Hadoop Streaming(如果是C语言应用程序)使用GPU。

GPU-Hadoop框架

也可以尝试定制的GPU-Hadoop框架,这个框架启动于Mars之后,包括Grex、Panda、C-MR、GPMR、Shredder、SteamMR等。但是GPU-Hadoop多用于特定的科研项目,并且不再提供支持了,你甚至很难将Monte Carlo模拟框架应用于一个以其它算法为基础的生物信息项目。

处理器技术也在不断发展。在Sony PlayStation 4中出现了革命性的新框架、Adapteva的多核微处理器、ARM的Mali GPU等等。Adapteva和Mali GPU都将兼容OpenCL。

Intel还推出了使用OpenCL的Xeon Phi协同处理器,这是一个60核的协同处理器,架构类似于X86,支持PCI-E标准。双倍精度计算时性能可达1TFLOPS,能耗仅为300Watt。目前最快的超级计算机天河-2就使用了该协同处理器。

很难说以上哪种框架会在高性能和分布式计算领域成为主流。随着它们的不断改善,我们对于大数据处理的理解可能也会改变。(编译:周小璐/审校:仲浩)

原文链接: Hadoop + GPU: Boost performance of your big data project by 50x-200x?

欢迎关注 @CSDN云计算微博,了解更多云信息。 

【OSTC讲师专访】九秒社团李明:开源对游戏产业的渗透与帮助 IBM 2014中国论坛:挖掘新互联网时代下“智慧企业”的发展之路 Facebook工程部副总裁Cory Ondrejka谈企业在早期所遇到的管理瓶颈 小团队管理工具选择:不需要大而全 《近匠》聚合CEO左磊:基础数据免费,API开放 IDC:HTML5与原生应用之争还将长存 不甘称臣,Google誓要击败Amazon 【OSTC讲师专访】腾讯追风(QcloudMna):开源移动加速SDK Google Go:一门为云而生的编程语言 3月26日:没有Larry Page,就没有今天的Google Hortonworks再获1亿美元融资,Hadoop领域三足鼎立 Intel收购Basis Science,欲拓展可穿戴设备市场 Facebook以20亿美元收购Oculus:虚拟现实将是未来计算平台又一大事件 基于NodeJS的14款Web框架 Hadoop导航:版本、生态圈及MapReduce模型 把黑匣子送上“云” 失联困境能否不再 看看全球十大电信巨头的大数据玩法 尹绪森:打开圈子拥抱变化,谈Spark玩家的自我修养 从Healthbook看苹果将如何颠覆移动医疗和健身追踪 Google可穿戴:详解Android Wear的十大功能 初创企业非技术人员的迷思 【OSTC讲师专访】王兴博:Genesis-3D,3D开源游戏引擎 Facebook发布开源项目Tweaks,让iOS应用开发更加便捷 移动开发创业团队再下一城!UCloud与飞流战略合作 【走进支付宝】即将开场,问题大征集! 开发者薪资调查:半数开发者工作十年方可迎来好“薪”情 沟通更畅快 HipChat推出1对1视频和屏幕共享功能 AMD宣布支持DirectX 12 为游戏开发者带来更多福利 开发者薪资调查:2013年哪种编程语言最赚钱? 苹果挖墙脚未果,黑莓高管跳槽被起诉 不看不知道:六个超大规模Hadoop部署案例 大家有用这个软件吗?有的话请写下你使用的感觉,有什么不足? CoolSoft HTML Optimizer 谁那里有页面开发规范,重金求购 帮助中HTML文件的链接问题!!! asp.net是否可以用任何一种vs.net语言? 请教---------一个函数返回指针值的问题!!!! 如何可以筛选出被修改过的数据记录。。。。。。 如何在广域网上实现SOCKET通讯,与局域网有什么不同? invocation在Java中怎么翻译啊? oracle中增量导数据的问题!! 过多的异常捕捉会影响程序性能吗? 二个form时怎样用request来收取数据? 在sybase里健好的表如何从新修改? 一个小问题,这个变量是什么类型的??? 使用通讯控件的疑惑 怎样实现在文本文件中修改某一行的其中字符串 Nokia MobileSet中如何让手机识别中文? 注册表坏了怎么办? 大哥们,能否告诉小弟,在 ms sql server2000中如何修改 sa 用户的口令 我的超星不能用了!!! 十万火急:PDF文件修改 大哥们,能否告诉小弟,在 ms sql server2000中如何修改 sa 用户的口令.. 作为初学者,每天的问题太多了?帮我看一下下面的小问题 我上午53,下午58.该不会下马吧????/我相知道什么时候才能知道是否已经Pass,什么时候下证? 有关DELPHI6中使用SKINENGINE??? C++ Builder中多国语言的问题 在哪下载到Exchange 2000 Server Resource Kit? 快捷方式损坏怎样修复? bluesky069(菜鸟一族)你帮助我把那个PBL放到蛛蛛的信箱好不好呢?让大家都可以下在的! 请问哪里有w32dsm.exe的教程??? 潘译<>印刷错误百出,令人不忍卒读... LISTBOX的问题?请高手帮忙!!高分向送! 帮我想想这个主键该怎么建SQL SERVER7 如何将控件,恢复init()到初始状态 急救:装有SCO UNIX的硬盘克隆后不能启动系统,怎么办? 如何在FTP的目录下再新建目录?我初学网络编程, 怎样设置ScrollView中的ScrollBar不可见? 有关comboBox问题??????急!急!!! 有那位朋友对ADO控件调用T-SQL的链接服务器或存储过程的命令有所了解,或知道怎样取链接服务器的相关信息 真诚的向大家请教一个问题!!先谢谢了 redhat linux7.2安装完成后,怎么没有工具栏 已知manager是employee的子类,那么这么写Employee epy=new Manager()为什么合法? 第五次提出这个问题:如何通过DELPHI调用SQL SERVER 过程向SQL SERVER 存入图象。 为什么我在新闻聚焦中发表不了评论? 在VB里怎样用ADO存贮Access的Memo型字段? 誰有在PB下用powersock做的聊天程序? SQL的好书是什么呀?难道就没有人有体会? vb怎样格式化硬盘?? 做个《曹操传》之类的游戏需要多少投资? 关于sfc(系统文件扫描)的问题 高分求解,大虾请进 买了java程序员大本营的请进!!!! 金属管浮子流量计与普通的转子流量计有什么区别?分别用在什么样的环境,和各自的特点? 如图,在△ABC中,AD是∠BAC的平分线,DE⊥AB于点E,DF⊥AC于点F,求证:AD⊥EF.如题,图如下, 仪表压力变送器问题压力变送器现场安装ZDY9800 0-200kpa的,这个规格的没有了,我想用ZDY9800 0-600kpa的压力变送器,请问对测量的数据准确性有影响吗? 转子流量计的钢制转子改为塑胶转子,请问在同一刻度下的实际流量比换转子前是增加了还是减少了? 如图,△ABC中,E、F分别是AB、AC、上的点.①AD平分∠BAC:②DE⊥AB:DF⊥AC;③AD⊥EF.以此三个中的两个.条件,另外一个为结论,可构成三个命题,即①②→③,①③→②,②③→①.(1)试判断上述三 压力变送器怎样连接仪表 60个千瓦的高压钠灯电源是三相四线制长度1000米怎么计算用多大的电缆 如图,AD是△ABC的中线,E,F分别是AB,AC上,且DE⊥DF,求证:BE+CF>EF. 二线制压力变送器怎么接入四线制仪表就是输入信号4-20mA的仪表怎么接受二线制的压力变送器的信号,怎么连接的 380V 50HZ 30A 需要多少平方的电源线,多大的空气开关 如图AD是△ABC的角平分线DE//AC交AB于E,DF交AC于点F.求证:AD⊥EF. 两个力互成30°,大小分别为90N和120N,用作图法求出合力的大小和方向 三相交流电动机总功率为80KW左右,请问要多大的三根铜电线和空气开关才能行? 在三角形ABC中,角ABC的平分线与外角角ACE的平分线交于点D,试说明角D=2分之1角A启东中学作业本(人教版)上的,三角形的外角,第13题 节流装置和流量计的区别是什么?流量计和变送器的区别是什么?有点晕有一种防堵测量装置算流量计还是节流装置? 已知:如图,在RT三角形ABC中,∠BAC=90°,三角形BCD、三角都ACE、三角形ABF均为等边三角形求证:S三角形BCD=S三角形ACE+S三角形ABF 如图,在三角形ABC中,角abc的平分线于角ace的平分线相交于点D,试探求角D与角A的关系,并说明理由. V锥流量计测量空气的安装要求DN200管径 垂直安装是否可以 220电4平方的铜线带空调 电磁炉 电饭锅 4平方的铜线能定住么 跳闸么?说简单点 LFX系列分流旋翼式蒸汽流量计表数什么读 调整型流量计中心节流装置锥体有什么用 我准备买一台功率9千瓦的开水炉,用4平方铜线是否可以?那住大师请指导! 500KW的功率,380伏电压,使用多大的电缆?装多少安的开关? 菲格瑞思平衡式流量计与传统节流装置有哪些区别? 电锅炉18KW,功率380V,用多大铜丝线求:一平方铜丝线在380V的功率下通过的电流为多少? 总功率400kw 电压380v ,请问需要用多大电缆? 如图,已知:△ABC全等于△FED,求证:AB‖EF 如图三角形ABC和三角形CDE均为等腰直角三角形,点B,C,D在一条直线上,点M是AE的中点,证明:S△ABC+S△CDE≥S△ACE要设AC为a CE为b 已知功率70KW,线长60米,电压380V,需要多大的开关?用多少平方的铝电缆? 如图,直线AB平行于EF,角CDE=130度,求角ABC+角BCD+角FED的度数 如图,△ABC和△CDE均为等腰直角三角形,点B,C,D在一条直线上,点M是AE的中点,求证BM⊥DM V锥流量计可以用于对原油的测量吗? 如图,AB∥EF,试探究∠ABC,∠BCD,∠CDE和∠DEF之间的关系,并给出证明. 如图,△ABC和△CDE均为等腰直角三角形,点B,C,D在一条直线上,点M是AE的中点,下列结论:①tan∠AEC=BCCD;②S△ABC+S△CDE≥S△ACE;③BM⊥DM;④BM=DM.正确结论的个数:A.1个 B.2个 C.3个 C.4个死度娘, 如图,已知BC//DE,∠ABC=∠DEF,试判断AB和EF的位置关系并说明理由 已知AB//EF,BC垂直CD于C,角ABC=30度,角DEF=45度,求角CDE的度数 如图1三角形abc与cde均为等腰直角三角形,且e在bc上,连接ae,bd 如图,∠ABC的两边分别与∠DEF的两边平行,即AB‖ED,BC‖EF1)在图1中,射线BA与ED同向,BC与EF也同向;在图2中,射线BA与ED异向,BC与EF也异向;在图3中,射线BA与ED同向,BC与EF异向.请问:在上述三种情况 当电路中的电流过大时,电线容易发热甚至引起火灾,原因是什么?怎样才能避免发生这 有的化学价有很多个要怎样才能知道在一个化学式中它的化合价呢如果其中有2个都是有不止一个的化合价如锰和氯在同一个化学式中(不考虑是否有这个化学式)锰的化合价为:+2,+4,+6, 如图所示,已知AB//DE,BC//EF.求证:△DEF相似于△ABC. 电流大时电线会发热,请问电压大时电线会发热吗? 40kw.380v电压..要用多大的电线呢?220v又用多大的电线? 已知如图,A,F,C,D四点在同一直线上,AF=CD,AB‖DE,且AB=DE..求证:(1)△ABC≌△DEF(2)BC‖EF 己知电机功率怎样计算电缆截面积 我想问下怎样计算.例如10千瓦,分别用在220V,380V电压.用多大开关.多大电线.怎样计算得出在计出电流后,选多大电表 400A电流380V电压电机选择多大的电缆 热电偶出来2根线+,—,怎么和显示温度数字的仪表接线?如果用变送器,热电偶怎么跟变送器接线?变送器把电压信号变为电流信号后一般和什么设备连接 380V和220V电压分别在使用量达20千瓦时,空气开关最少要达到多少安倍 三相380V电机的功率为1.5KW,现改为电源为三相220V/60HZ ,启动电流会增加多少? 铜电线的承载电流大小与铜线的截面积是什么关系?与电压又是什么关系? 怎样从380v电压的开关下,取220v电源. 12KW的电动机三相380V电源要多大的电流?且要多大的电线? 电力电缆截面积与电流的关系求:电缆截面积与电流的关系表,民用一般都220V比如2.5平方的线能带起2500W-3000W的功率也就是10A的电流,那给关系表谁能给份,我这里只有57分. 角ABC=角ACE=角CDE=90度,AC=CE,问三角形ABC是否全等于三角形CDE 一台设备电压为380V(多台电机及照明),在三相进线电缆上用卡钳表量电流每相为100A,请教每小时耗电量多少 所有一切变送器的工作原理是什么?比如温度变送器,压力变送器,液位变送器,它们是怎么变送的? 实验室用质量流量计和转子流量计价格哪个高 如图,在△ABC中,D是BC边上一点,DE⊥AB于点E,DF⊥AC于点F且DE=DF,EF与AD交于点O,求证AD⊥EF.图发不上来, 是不是有几个压力控制仪表就会要装几个压力变送器吗?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn