写点什么

在 GPU 上运行 Hadoop 任务?ParallelX 或许将带来更多帮助

  • 2013-12-31
  • 本文字数:1843 字

    阅读完需:约 6 分钟

在面对大规模计算密集型算法时, 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 的理念便由此自然而然地浮现出来了。

ParallelX 适合许多种不同的工作负载,不过它主要聚焦在像机器学习这样的高性能计算和图形处理这样的繁重分析方面。ParallelX 团队举了一个例子来说明其能力:它能够在一秒内,将一个大型社团联谊网络在单一 GPU 上进行集群——在过去,这需要并行利用六台计算机,耗时一小时才能完成。而且在实践中并无限制,任何针对 MapReduce 编写的程序都可以使用 ParallelX 编译为 GPU 可运行的代码。

ParallelX 团队正在规划在未来发布它的数据和白皮书,以展示这个“从 Hadoop 到 GPU”的编译器在面对现实世界中的工作负载时的性能。对于这个话题,社区的反响中存在一些轻微的不同声音。一些人正在等着阅读这份白皮书,而后再决定是否转型到ParallelX。当这一消息在 Hacker News 上发布后,我们可以在评论中找到类似的言论:“非凡的声明需要非凡的佐证。”

现在,开发者已经能够使用 Aparapi ,来体验一下在 Hadoop 上运用 GPU 能力的感觉。Aparapi 是一套 Java API,通过将 Java 字节码转化为 OpenCL,支持开发者在 GPU 上运行特定的代码段,而且这些代码段能够嵌入到任何用 Java 编写的 MapReduce 任务中。

在面向对复杂算法的需求越来越旺盛的研究人群,推广 Hadoop 的过程中,ParallelX 可能会成为意义深远的一步。例如,通过使用由 Apache Hama 推广的整体同步并行计算模型,图解分析算法能够获得非常好的性能表现,而如果ParallelX 能够与诸如 Apache Giraph ——它能够将图解分析算法作为 MapReduce 任务运行——这样的项目相结合,将为任何数据科学家的图解分析工具箱增添一件有价值的工具。

读者现在可以使用电子邮件地址,在线注册ParallelX 的Beta 版本。ParallelX 拟将支持一套免费增值计划(freemium plan),允许访问强大的GPU,并使用有限的存储空间。

查看英文原文: Hadoop Jobs on GPU with ParallelX

2013-12-31 04:212752
用户头像

发布了 256 篇内容, 共 73.5 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

晨间日记的奇迹

熊斌

读书笔记

2020第十三届南京国际智慧新零售暨无人售货展览会

InfoQ_caf7dbb9aa8a

2020第十三届南京国际智慧工地装备展览会

InfoQ_caf7dbb9aa8a

2020南京国际人工智能产品展览会

InfoQ_caf7dbb9aa8a

人工智能

高难度对话读书笔记——目的篇

wo是一棵草

SpringBoot-技术专题-@Async异步注解

洛神灬殇

万万没想到!ModelArts与AppCube组CP了

华为云开发者联盟

AI 技术 华为云

坚持写技术博客一年能有多少收获!

小傅哥

Java 面试 架构师 编程经验 技术博客

2020第十三届南京国际大数据产业博览会

InfoQ_caf7dbb9aa8a

架构方法论之“极限审视法”

凌晞

架构 方法论 设计思维

PanDownload复活了!60MB/s!附下载地址

程序员生活志

PanDownload 网盘 下载器

技术革新的脉络及趋势

凌晞

技术 进步

MySQL-技术专题-SQL性能分析

洛神灬殇

SpringBoot 实战:如何优雅的处理异常

看山

springboot 实战 优雅响应

从戚家军看组织战斗力塑造(组织的六脉神剑)

凌晞

组织

“三段三域法”应用架构模型

凌晞

架构 架构设计 技术架构

手把手教你锤面试官 04——假装精通redis

慵懒的土拨鼠

MySQL-技术专题-实战技巧

洛神灬殇

我就不服了,看完这篇文章,5大常见消息队列开发你还学不会

小Q

Java 编程 程序员 开发 消息队列

第3周学习总结

饭桶

轻言业务架构图

凌晞

架构 企业架构 架构设计 架构设计原则 业务架构

Java 客户端操作 FastDFS 实现文件上传下载替换删除

哈喽沃德先生

Java 文件系统 分布式文件存储 fastdfs 文件服务器

架构师训练营第一期 - 第四周课后 - 作业二

极客大学架构师训练营

技术解码 | 玩转视频播放,自适应码流技术

腾讯云音视频

音视频 转码

2020南京国际工业互联网及工业通讯展览会

InfoQ_caf7dbb9aa8a

第3周作业提交

饭桶

Redis-技术专题-数据结构

洛神灬殇

2020第十三届南京国际智慧停车展览会

InfoQ_caf7dbb9aa8a

什么是 Kubeless?| 玩转 Kubeless

donghui

Kubernetes kubeless

MySQL-技术专题-Join语法以及性能优化

洛神灬殇

转型敏捷123

研发管理Jojo

在GPU上运行Hadoop任务?ParallelX或许将带来更多帮助_亚马逊云科技_Charles Menguy_InfoQ精选文章