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

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云计算微博,了解更多云信息。 

回首JavaScript这一年:笑里藏刀 百媚丛生 平板优先:Supercell游戏公司日收入100万美元 Mootools实现具有排版功能的页面拖拽 2012:云计算的春天 直击Strata+Hadoop World:百万雄师过大江 能携带的网络 Anyfi 150万建网络虚拟热点 又将颠覆产业?传苹果正开发蓝牙智能手表 JavaScript社区开发者调查结果 欢乐淘、求PS大神获腾讯开放平台应用创新大赛年度金奖 2012是响应式设计之年 12月28日:1903年计算机之父冯·诺依曼出生 Android木马病毒:伪装成Google Play图标进行DDoS攻击 IE10 CSS Hack 程序员技术分享:训练机器学习 SVM算法解析 2013,谷歌的数据科学家都将干什么呢? Facebook“也”对服务器进行浸泡冷却 日本最大电脑商:Windows 8表现并不好 日均新增415个应用,Windows 8应用总数突破35000 百度推出图像搜索引擎“百度识图” 可基于图像实现全网人脸搜索 解决专利纠纷 RIM向诺基亚预付6500万 巨头的得意与失落:2012移动游戏十大收购案 Mozilla或许将发布iOS平台浏览器Junior Mozilla:Facebook手机将采用Firefox OS Anonymous2013年将放慢脚步,McAfee预测遭质疑 一周消息树:Facebook公布2012年Hackathon大赛顶级“黑客作品” HTML+CSS+JS 开发 Firefox OS 应用编程实战 前端开发工程师如何在2013年里提升自己 Java受Objective-C影响很大 而不是C++ Instagram回击报告指责:用户仍保持增长态势 回顾:2012年科技行业十大败笔 苹果地图入选 Amazon CEO Jeff Bezos:好年景,大挑战 求救了,通过一个单文档菜单上的一个子菜单选定它后在窗口里显示一个网页,能帮帮吗,谢谢了 关于如何对应在photoshop和dreamweaver4.0中的大小问题! InterBase数据库中数据的倒入倒出 关于C中scanf 的一点问题,请大家赐教 如何在Jboss3中建立一个守护线程?? MyICQ真的能免费吗?大家一起来交流交流. 一个小问题 关于DATAWINDOW的问题,在线等待 COBOL语言主要干什么用?它有什么特殊功能,什么公司或个人开发的?现在它还有市场吗? 非高手就不要进来了!很难的。 域登陆的问题 请教高手指导WINDOWS消息的问题!!!!! 互联网在线支付平台可行性讨论, 谁安装过Ehlib 2.4a?为什么我会出现File not found: 'DBSumLst.dcu'??? B/S结构的ERP系统是使用J2EE和.NET的架构哪个比较好? 我是初学者,请教一个简单的问题,关于jbuilder7和tomcat的 急救 关于b/s下 文档删除的问题 请热心的朋友一定看——帮忙 本人一定感谢大家——加分 实际编程中碰到的问题,高手赐教 关于树的问题!急 C++菜鸟有分!!! 无线问题 如何管理软件系列版本 快要疯掉了!服务器端与客户端的文件传送问题,请高手千万援助! 山东的朋友能否将较好的公司和较差的公司曝光一下!!!! 有哪位高高手知道ldap数据库怎么进行迁移呀? 互联网在线支付平台可行性 关于Form的问题??? 简单数字段问题 不能用redhat7.3自带的输入法,中文名字显示为问号。怎么解决 请问怎样把整型转换成字符串型? 谁在BCB下用过研华的PCL-812采集卡? 8数码和8皇后的算法,大家指点我一下看看,up有分,分可以加 数据库连接讨论!各位在连的时候用的是ADO,还是RDS? 有关上网设主机的问题(双网卡)(在线等) directx8中哪只函数支持播放内存中的声音文件 万分紧急!!!!!!先谢过! 那里又"绝世宝贝"下载? 哪位大哥帮翻译一句话!非常感谢!!!!!!!!!! 请问一个问题:用acdsee如何把点阵图转化成矢量图? cdonts在客户端发送附件,为什么失败? 第一行,第一列错误是什么回事阿? 怎样计算php里的时间差,mysql的时间差? 关于控制台程序 BYTE型怎么 输出到文件(急) 广州IT俱乐部活动讨论 OleContainer1对象如何使打开的文件嵌在OLE里面,而不是在外部打开DOC文档. 寻兼职程序员,开发一个的屏幕取词工具软件 那里有interdev下载?在线等 小弟初学vb.net,现有一题急需帮忙. oracle9客户端连接oracle816:tns 出错: 写文件换行,再按行读出 门道的意思 如何计算LED光源的隧道灯的功率因数? 法治问题是不是一个政治问题? 目前食品安全存在哪些主要问题,为此有哪些对策可以解决? LED球泡灯功率因数低照明解决 青岛哪个厂家的防锈剂好用? 如图,分别作出 点P关于OA,OB的对称点P1,P2,连结P1P2,分别交OA,OB于点M,N,若P1,P2=5cm LED灯具怎么计算功率因数 红血细胞没有细胞核,而寿命也较其他具备细胞核的细胞短,试加以解释. 如图,∠AOB内有一点P,P关于OA,OB的对称点分别为P1,P2,连接P1P2交OA于点M,交OB于点N,若P1P2=5cm,求△PMN的周长. 荧光粉的价格 血球计数仪的使用寿命是多久 电压表怎么看它是测哪个用电器的如左边的图 电压表是测哪个的 右边的呢 可以测上 可以测下吗?要是这样呢 请问这是什么原因造成钢化玻璃破裂,是外力还是自爆 从血细胞形态分析与人体衰老看神源口服液的关系如何从血细胞形态分析与人体衰老看神源口服液 近年来,科学研究人员通过大量计算机显微血相检测发现:人体的血细胞形态呈现出千姿 一列火车总质量M=500 t,机车以额定功率P=6×105 W在轨道上行驶时,轨道对列车的阻力Ff是车重力的0.01倍.求:(1)火车在水平轨道上行驶的最大速度是多少?(2)火车在水平轨道上行驶速度为10m/s 什么是钢化玻璃自爆?谁能给说说这种现象产生的原因和情境,以及表现是什么样子的.我头回听说玻璃自爆,很好奇. 迈瑞动物血球分析仪2800型寿命几年? 汽车风挡玻璃上都需要贴什么不干胶,总共有几个, 明朝地图求明朝前期详细国家地图,要精确道中小城市,最好是1500年左右.要有华北地区和福建的部分较有名声的中小城市即可,希望各省分界线再明显一些 1mol硫酸在水溶液中电离出的离子数是多少? 干燥时,人的双手间的电阻约为1000~5000Ω,若小明双手间的电阻为3000Ω,他两手分别接触二节串联在一起的干电池的正、负极,通过他的电流有多大?若他两手分别握住家庭电路的火线和零线,通过 我国在出口农产品的同是,也从外国进口了农产品,我国从哪进口了其他农产品? 电压源的电流是多少,为什么会这样? 与发达国家比中国科学技术差在哪 LED灯具的功率因数随着输入电压是增大还是减小?请说明原因.再一个,效率:随着输入电压是增大还是减小? 各种常见灯具,家用电器功率因数白炙灯泡、电子节能灯、冰箱、电视、电磁炉等的功率因数 5条有关食品安全的警句 面巾纸中为什么要添加荧光粉为什么有的面巾纸说“未添加荧光粉”啊?内个荧光粉有什么用处啊? 文明礼仪安全 廉洁教育知识竞赛题目征集啊? 求几篇有关食品安全的新闻评论 谁知道哪些卫生巾含有荧光粉? 几个安全知识竞赛的问题 食品生产环节的监管由______负责A.工商行政部门 B.质量监督部门 C.卫生行政部门 D.农业行政部门 ()触电后的生理险象是_______.A.痉挛 B.昏迷 C.心室颤动 D.呼吸 怎样可以看出电压表所测的用电器 面巾纸里含荧光粉吗我们平时用的面巾纸里,含有荧光粉吗?听说荧光粉有毒的.我就知道一些劣质的卫生巾里面有. 关于安全教育的问题三月是安全教育月写一篇作文让我看一下该怎么写或是告诉我要注意什么写哪方面 请问玻璃上贴的不干胶广告如何去除? 是餐巾纸有荧光粉还是卫生纸有荧光粉?该怎么鉴别是否有? 把铁粉和硫粉以适当的质量比均匀混合,堆放在石棉网上,然后用烧红的玻璃棒的一端接触混合物.这时部分混合物迅速变成红热状态,玻璃棒拿开后,反应继续剧烈进行,直至全部混合物呈红热 唐代有那些诗人,宋代有那些诗人. 黑板报:以“法制教育,安全教育,心理教育”为主题最好连文带图的 ,没有图的话,文字内容也行 血液、血浆、血细胞三者概念关系是? 唐代和宋代的诗人有哪些?(急)急得很,有就说,不要李白杜甫的…… 法制安全知识竞赛在哪里做? 宋朝的商业革命具体表现是是交子的出现还是城镇的兴起? 先秦到唐代宋代元代明代清代经历了多少年 鲸海以前是属于中国的领海,怎么现在却成了朝鲜东海和日本海呢? 为什么说宋朝是我国古代科技发展的一个高峰时期 居民食品安全中存在的问题大概400字左右 以安全法制教育为内容,选用什么标题 宋朝商业革命美国史学家斯塔弗里阿诺指出“...宋朝值得注意的是,发生了一场名副其实的商业革命”,以下属于“商业革命”的是( )A出现独立经营的商人B流通领域出现纸币C大量的商业市 我国食品安全存在的主要问题是什么?你认为如何解决这些问题? 求明朝演变地图 宋朝发生商业革命美国史学家斯塔弗里阿诺指出“...宋朝值得注意的是,发生了一场名副其实的商业革命”,以下与这场“商业革命”无关的事( )A城市的坊市界限被打破B纸币交子的出现C海 给句子换个说发,保持句子原意不变:摸着门道,花草养活了,而且三年五载老活着,开花,多么有意思呀! 谁有明朝的地图, 如何运用法治思维和法治方式 以“食品安全存在的问题和对策”为内容写论文,给一个合适的切入点并列出论文结构 BB霜是不是含有荧光粉成分? 对建设法治政府理解错误的是A.建设法治政府,是落实依法治国方略,推进社会主义民主与法制建设的重要内容B.建设法治政府,必须全面推进依法行政C.建设法治政府,就是要提高政府管理人民群
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘