写点什么

在 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:212788
用户头像

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

关注

评论

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

Trie树简介及应用

京东科技开发者

数据结构 算法 高性能 双数组trie树 企业号 1 月 PK 榜

5K字 由浅入深聊聊Promise实现原理

梁木由

JavaScript 前端 前端开发 前端面试

关于 JavaScript 定时器

devpoint

JavaScript 定时器 setTimeout setInterval

如何使用 Java8 改造模板方法模式!

风铃架构日知录

Java 程序员 后端 设计模式 模板方法

火山引擎DataTester:“在字节,A/B实验是一种信仰”

字节跳动数据平台

大数据 字节跳动 AB testing实战

Object中的wait和notify方法详解

threedayman

面试 并发编程 java;

启科QuTrunk+Runtime+QuSaaS+AWS量子计算编程实战

启科量子开发者官方号

量子计算

秒云获评开源GitOps产业联盟“当仁不让 · 最佳分享奖”

MIAOYUN

开源 产业联盟 gitops OGA产业联盟

Verilog HDL数据流建模与运算符

timerring

FPGA

从 JVM 中深入探究 Synchronized

小小怪下士

Java 程序员 JVM synchronize

我们要的一种自学方式,也许是看书自学成才。

叶小鍵

认识区块链,认知区块链——NFT

MavenTalker

区块链 NFT web3 数字藏品

资产梳理与应用自动化部署技术实践

智维数据

大数据 数据可视化 智能运维 应用交付平台 流量分析系统

微信小程序实训|基于云数据库的语文听写工具

TiAmo

微信小程序 云开发 微信开发

Python 内置界面开发框架 Tkinter入门篇 乙

eng八戒

Python GUI tkinter

网络安全中API常见漏洞

郑州埃文科技

API漏洞

认知篇:CQRS架构模式的本质

京东科技开发者

架构 微服务 后端 CQRS 企业号 1 月 PK 榜

为什么 Go 不支持 []T 转换为 []interface

AlwaysBeta

Go golang 源码 slice interface

市场上常见的5种LED异形屏

Dylan

LED LED显示屏 led显示屏厂家

生产环境10分钟黄金时间快速排障:CPU不定时飙高怎么排查?

KINDLING

Java Linux 后端 监控 ebpf

vivo 超大规模消息中间件实践之路

vivo互联网技术

kafka 中间件 pulsar 消息中间件 RoketMQ

2023,不一样的数据库

NineData

数据库 运维 数据开发 数据管理 NineData

软件测试/测试开发 | 接口自动化测试,如何实现多套环境的自动化测试?

测试人

软件测试 自动化测试 接口测试 测试开发

Sam Altman的成功学|升维指南

OneFlow

人工智能 深度学习

国产射频滤波器公司频岢微电子 完成近两亿元B轮融资

硬科技星球

软件测试/测试开发 | 接口自动化中如何完成接口加密与解密?

测试人

软件测试 自动化测试 接口测试 测试开发

智慧公安!3DCAT实时云渲染助力某公安机关打造数字孪生可视化系统

3DCAT实时渲染

智慧城市 数字孪生 云渲染 实时云渲染

架构实战营4.4 如何设计存储架构随堂练习

西山薄凉

「架构实战营」

15个 高并发系统设计 锦囊帮助你设计高并发!

风铃架构日知录

Java 程序员 后端 高并发 分库分表

云原生应用你应该这么管- 谐云发布基于KubeVela增强的应用版本管理和在线升级

谐云

云计算 Kubernetes OAM 容器云 企业号 2 月 PK 榜

高频JavaScript手写面试题

梁木由

JavaScript 前端 前端面试题

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