科学计算遇上大数据技术:一个天文学用例
分布式、并行与集群计算
2016-03-15 v2
摘要
科学分析通常将多个单进程程序组合成一个数据流。由单进程程序构成的端到端数据流被称为多任务应用。通常,使用高性能计算 (HPC) 软件栈中的工具来并行化这些分析。在这项工作中,我们研究了一种替代方法,即使用 Apache Spark——一个现代大数据平台——来并行化多任务应用。我们提出了 Kira,一个使用 Apache Spark 的灵活分布式天文图像处理工具包。然后,我们使用 Kira 工具包为天文图像实现了一个名为 Kira SE 的源提取器 (Source Extractor) 应用。以 Kira SE 为用例,我们研究了 Apache Spark 在 EC2 云上运行的编程灵活性、数据流丰富性、调度能力和性能。通过利用数据局部性,Kira SE 在 Amazon EC2 云上使用 512 个核心分析 1TB 数据集时,相比等效的 C 程序实现了 2.5 倍的加速。此外,我们表明,通过利用最初为大数据基础设施设计的软件,Kira SE 实现了与在 NERSC Edison 超级计算机上运行的 C 实现相竞争的性能。我们在 Kira 上的经验表明,新兴的大数据平台(如 Apache Spark)是多任务科学应用的一种高性能替代方案。
引用
@article{arxiv.1507.03325,
title = {Scientific Computing Meets Big Data Technology: An Astronomy Use Case},
author = {Zhao Zhang and Kyle Barbary and Frank Austin Nothaft and Evan Sparks and Oliver Zahn and Michael J. Franklin and David A. Patterson and Saul Perlmutter},
journal= {arXiv preprint arXiv:1507.03325},
year = {2016}
}