利用 Alchemist 卸载至高性能计算库以加速大规模数据分析
分布式、并行与集群计算
2018-05-31 v1 数据库
数据分析、统计与概率
统计计算
摘要
Apache Spark 是一个面向大数据集分析的热门系统,但近期研究表明,某些计算——特别是作为常见机器学习问题求解基础的许多线性代数计算——在 Spark 中比使用以高性能计算框架(如消息传递接口(MPI))编写的库时显著更慢。为弥补此缺陷,我们引入了 Alchemist,一个设计用于从 Apache Spark 调用基于 MPI 的库的系统。在 Spark 中使用 Alchemist 有助于加速线性代数、机器学习及相关计算,同时仍保留在 Spark 环境中工作的优势。我们讨论了开发 Alchemist 的动机,并简要概述其设计与实现。我们还比较了纯 Spark 实现与通过 Alchemist 利用基于 MPI 代码的 Spark 实现的性能。为此,我们使用数据科学案例:将共轭梯度法大规模应用于求解语音分类问题中产生的超大线性系统,获得了数量级的提升;以及对 400GB 三维海洋温度数据集的截断奇异值分解(SVD),获得了最高 7.9 倍的加速。我们还通过将截断 SVD 计算应用于尺寸达 17.6TB 的数据集,说明该计算可轻松扩展至 TB 级数据。
引用
@article{arxiv.1805.11800,
title = {Accelerating Large-Scale Data Analysis by Offloading to High-Performance Computing Libraries using Alchemist},
author = {Alex Gittens and Kai Rothauge and Shusen Wang and Michael W. Mahoney and Lisa Gerhardt and Prabhat and Jey Kottalam and Michael Ringenburg and Kristyn Maschhoff},
journal= {arXiv preprint arXiv:1805.11800},
year = {2018}
}
备注
Accepted for publication in Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, London, UK, 2018