Matrix Factorization at Scale: a Comparison of Scientific Data Analytics in Spark and C+MPI Using Three Case Studies
Alex Gittens, Aditya Devarakonda, Evan Racah, Michael Ringenburg, Lisa Gerhardt, Jey Kottalam, Jialin Liu, Kristyn Maschhoff, Shane Canon, Jatin Chhugani, Pramo… 展开作者
Alex Gittens, Aditya Devarakonda, Evan Racah, Michael Ringenburg, Lisa Gerhardt, Jey Kottalam, Jialin Liu, Kristyn Maschhoff, Shane Canon, Jatin Chhugani, Pramod Sharma, Jiyan Yang, James Demmel, Jim Harrell, Venkat Krishnamurthy, Michael W. Mahoney, Prabhat
We explore the trade-offs of performing linear algebra using Apache Spark, compared to traditional C and MPI implementations on HPC platforms. Spark is designed for data analytics on cluster computing platforms with access to local disks and is optimized for data-parallel tasks. We examine three widely-used and important matrix factorizations: NMF (for physical plausability), PCA (for its ubiquity) and CX (for data interpretability). We apply these methods to TB-sized problems in particle physics, climate modeling and bioimaging. The data matrices are tall-and-skinny which enable the algorithms to map conveniently into Spark's data-parallel model. We perform scaling experiments on up to 1600 Cray XC40 nodes, describe the sources of slowdowns, and provide tuning guidance to obtain high performance.
Spark-MPI: Approaching the Fifth Paradigm of Cognitive Applications
在过去的十年中,数据密集型科学的第四范式迅速成为多个应用领域的主要驱动概念,包括并产生大型设备,如光源和尖端望远镜。数据密集型项目的成功随后引发了下一代机器学习方法。这些新的人工智能系统清楚地代表了从数据处理管道到复合认知应用的第五范式的范式转变,需要集成大数据处理平台和HPC技术。针对数据密集型生态系统和计算密集型生态系统之间存在的阻抗不匹配问题,提出了基于MPI Exascale Process Management Interface(PMIx)的Spark-MPI方法。该方法在混合MPI/GPU重叠关联图像重建管道和分布式深度学习应用程序的背景下进行了演示。
A High-Performance Parallel Algorithm for Nonnegative Matrix Factorization
非负矩阵分解(NMF)是针对给定的输入矩阵$A$确定两个非负低秩因子$W$和$H$的问题,使得$A \approx W H$。NMF在文本挖掘中的主题建模、视频分析中的背景分离、社交网络中的社区发现等领域有着广泛的应用。尽管它在数据采掘社区中很受欢迎,但缺乏有效的并行软件来解决大数据集的问题。现有的分布式内存算法在性能和适用性方面受到限制,因为它们是使用Hadoop实现的,并且仅针对稀疏矩阵设计。我们提出了一个分布式存储器并行算法,通过迭代求解交替的非负最小二乘(NLS)子问题的$W$和$H$的因式分解计算。据我们所知,我们的算法是第一个高性能的并行算法NMF。它在内存中维护数据和因子矩阵(分布在处理器中),使用MPI进行处理器间通信,并且在密集的情况下,可以证明最小化通信成本(在温和的假设下)。与以前的实现相反,我们的算法也很灵活:(1)它对密集和稀疏矩阵都有很好的表现,(2)它允许用户从多个算法中选择,用于在交替迭代中解决局部NLS子问题。我们展示了我们的算法的可扩展性,并将其与基线实现进行比较,显示出显着的性能改进。
Purdue University(普渡大学);Lawrence Berkeley Lab(劳伦斯伯克利实验室);Yahoo! Research(雅虎研究院);University of Electronic Science and Technology of China(电子科技大学);University of Cambridge(剑桥大学)