ParallelX在GPU上运行Hadoop任务

在面对大规模计算密集型算法时,MapReduce范式的表现并不总是很理想。为了解决其瓶颈,一支小型创业团队构建了名为ParallelX的产品——它将通过利用GPU的运算能力,为Hadoop任务带来显著的提升。

ParallelX的联合创始人Tony Diepenbrock表示,这是一个“GPU编译器,它能够把用户使用Java编写的代码转化为OpenCL,并在亚马逊AWS GPU云上运行”。它的最终产品是一项与亚马逊Elastic MapReduce类似的服务,只不过不同之处在于它将利用EC2 GPU实例类型。

毫无疑问,亚马逊并不是唯一一家提供GPU服务器的云服务提供商,其他诸如IBM/Softlayer或Nimbix等公司也提供使用NVidia GPU的服务器。然而,当被问起ParallelX是否将会支持亚马逊之外的其他不同云服务提供商时,Tony的答复是“暂时还没有,不过我们将拥有一套SDK,供使用内部Hadoop集群的客户使用。大部分GPU云服务提供商在HPC云中提供GPU,但我们希望能够以比较低廉的价格使用云服务中的GPU。毕竟,这正是Hadoop的设计初衷——便宜的商用硬件。”

在更好地理解ParallelX编译器能够做哪些事情之前,我们需要了解现在有不同类型的GPU,它们配备了不同的并行计算平台,例如CUDA或OpenCL。Tony提到,ParallelX所适用的工作场景是“编译器将把JVM字节码转换为OpenCL 1.2的代码,从而能够通过OpenCL编译器编译为Shader汇编,以便在GPU上运行。现在同样也有一些FPGA硬件能够运行OpenCL代码,但是要想获得对于广义并行硬件的支持,可能还需要等到未来的某一天。”尽管ParallelX并不支持Java源代码中的反射或原生调用,它的目标依旧是确保开发者只须要对其MapReduce任务的代码进行必要的调整——越少越好。

随着ParallelX团队开始研究I/O-Bound任务的吞吐量增长,Tony发现他们的产品“也能够支持实时处理、以Pig和Hive代码表示的查询,以及针对I/O Bound任务的大数据集流。在我们测试中,使用我们的流水线框架,I/O吞吐几乎能够达到GPU计算吞吐能力的水平。”

虽然ParallelX团队目前正在专注于针对亚马逊的Hadoop版本分支的努力,但他们也在规划为其他流行的Hadoop版本分支(例如Cloudera's CDH)进行开发, 而且毫无疑问,在ParallelX的环境中,利用这些商业分支对Hive和Pig进行的诸多改进,将是一件非常有益的事情。

ParallelX拥有独一无二的演进故事,Tony在一篇文章介绍了这个已经持续了2.5年的史诗般项目的历程:首先起于为某社团开发的一个社交网络,随后是用于Facebook的Widget插件,接下来则是一个识别剽窃代码的工具。这些项目拥有一些共性:图解分析与基于GPU的算法——几乎,ParallelX的理念便由此自然而然地浮现出来了。

原文发布于微信公众号 - 吉浦迅科技(gpusolution)

原文发表时间:2014-01-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

FPGA入门

FPGA简介 FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在可编程阵列逻辑PAL(Programma...

27870
来自专栏北京马哥教育

头条 Python 工程师面经分享:一年经验也能进大公司!

博主本人 2015 年毕业于郫县某 985 大学通信工程系,因为大学期间一直自己创业所以错过了大四秋招春招,毕业后又在北京继续创业一年,但在创业公司一直无法沉淀...

19530
来自专栏日常学python

用数据分析来看哪种 Python 程序员最赚钱?

本文以Python爬虫、数据分析、后端、数据挖掘、全栈开发、运维开发、高级开发工程师、大数据、机器学习、架构师这10个岗位,从拉勾网上爬取了相应的职位信息和任职...

44040
来自专栏牛客网

一起来看看阿里面试官如何面试

最近去阿里的菜鸟国际做了一次面试交流,发现大公司对于面试者的知识结构考核非常严谨,可以作为我们日常工作学习的指导。虽然很多人说面试问到的东西在实际工作中很少用到...

39050
来自专栏企鹅号快讯

给那些新入门Python的同学推荐几本好书

中国大学极少开设 Python 课程,故而国内 Python 程序员多属自学,那么你在自学 Python 的过程中有哪些值得分享的经验或者有趣的体验呢? 我就是...

33770
来自专栏大数据钻研

为什么编程那么难?是我脑子不行吗?

 “现在,导航到那个你希望程序在终端中打开的小文件夹。好的,下面需要在PATH文件夹中创建符号链接,但是,在我们创建之前,先使用nano ~/.bash_pro...

30930
来自专栏微信公众号:Java团长

成为优秀Java程序员的10个要点

如果你是一个热衷于技术的Java程序员, 那么下面的10个要点可以让你在众多Java开发人员中脱颖而出。

10620
来自专栏ThoughtWorks

Autonomous bubble pattern | 雷达哔哔哔

ThoughtWorks每年都会出品两期技术雷达,这是一份关于科技行业的技术趋势报告,在四个象限:技术、平台、工具以及语言和框架对每一个条目(Blip)做采用、...

10410
来自专栏我是业余自学C/C++的

complete_code_Chapter2 原

通过把你不太理解的东西和一些你较为理解、且十分类似的东西做比较,你可以对这些不太理解的东西产生更深刻的理解。这种使用隐喻的方法叫做“建模(modeling)”.

8720
来自专栏PPV课数据科学社区

分享:6个公司大数据岗位的面试经验

【热门下载】 2015中国数据分析师行业峰会精彩PPT下载(共计21个文件) 关注PPV课微信菜单栏回复“2015数据分析师”即可下载 来源:CSDN 作者:g...

58070

扫码关注云+社区

领取腾讯云代金券