写点什么

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

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

关注

评论

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

Mac无损音乐播放器:Audirvana for Mac中文

真大的脸盆

Mac Mac 软件 音乐播放 音乐播放器

AITO问界M5:最安全、智能的座驾

极客天地

智能感知编码优化与落地实践

百度开发者中心

人工智能 视频 百度智能云

递归算法

linux大本营

递归 数据结构与算法

ubuntu如何安装Json解析库Reader

linux大本营

ubuntu JSON库 reader

给广场舞大妈讲讲什么是大语言模型!

FN0

AIGC

open3d将pcd存数据库

linux大本营

sqlite 数据库 存储 :MySQL 数据库

刘浩:当谈到RTO < 8s时,OceanBase究竟在说什么?

OceanBase 数据库

数据库 oceanbase

基于STM32设计避障寻迹小车

DS小龙哥

三周年连更

0Ω电阻在PCB板中的5大常见作用

华秋PCB

电路 元器件 PCB PCB设计 电阻

目前江西省等级测评公司有几家?都在南昌吗?

行云管家

江西 等保 等级保护 等保2.0

websocket底层原理

linux大本营

nginx HTTP websocket 通信协议 web服务器

2023年第十二届数据技术嘉年华(DTC)资料分享

墨天轮

数据库 oracle 云原生 智能运维 国产数据库

怎样判断户外LED显示屏质量是否达标

Dylan

媒体 广告 户外LED显示屏

如何写出CPU友好的代码,百倍提升性能?

阿里技术

cpu 代码优化

canvas-绘制一个柱状图

格斗家不爱在外太空沉思

CSS canvas 三周年连更

用C语言实现,终端输入1.2.3.4/32,解析输出unsignedint类型的1.2.3.4和32

linux大本营

C语言

免费云堡垒机用哪个牌子软件好?包含哪些功能?

行云管家

云计算 网络安全 IT运维 云堡垒机

如何在makefile中链接Json解析库Reader

linux大本营

json makefile reader

超越YOLOv8,飞桨推出精度最高的实时检测器RT-DETR!

飞桨PaddlePaddle

人工智能 计算机视觉 目标检测 百度飞桨

HummerRisk V1.0.1:k8s检测扩充、批量删除及修复bug

HummerCloud

开源 云原生 云安全 云原生安全

Android C++系列:函数返回值注意事项

轻口味

c++ android 三周年连更

软件测试/测试开发丨自动化测试之读取配置文件

测试人

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

linux下怎么拉取远程的代码并且合并到本地,保证不冲突

linux大本营

git Linux

C语言sqlite3,实现判断一个数据库存不存在,不存在就创建

linux大本营

数据库 C语言 sqlite3

火山引擎DataLeap:在数据研发中,如何提升效率?

字节跳动数据平台

运维 数据研发 企业号 4 月 PK 榜 任务模板

深入探索数据库MySQL,性能优化与复杂查询相关操作

Java MySQL 数据库 性能优化

融云 CTO 岑裕:出海技术前沿探索和排「坑」实践

融云 RongCloud

运维 网络 融云 泛娱乐 出海

Ts中string、number和any等类型 不能当做索引用,怎么处理?

肥晨

三周年连更

写一个回调函数

linux大本营

回调函数 C++

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