中文

Dask 与 Apache Spark 在数据密集型神经影像流水线中的性能比较

分布式、并行与集群计算 2019-10-08 v3 性能

摘要

过去几年中,由于图像分辨率、数据共享与研究规模的同步提升,神经影像已步入大数据时代。然而,该领域尚未出现特定的大数据引擎,多种替代方案仍可供选择。我们比较了两种具有 Python API 的流行大数据引擎 Apache Spark 与 Dask,以评估它们在处理神经影像流水线时的运行性能。我们的评测使用两条处理 81GB BigBrain 图像的合成流水线,以及一条处理来自逾 1000 名被试解剖数据的真实流水线。我们在 Compute Canada 的 Arbutus 云中一个 8 节点(每节点 8 核)计算集群上,以任务时长、数据量与工作节点数的多种组合对这些流水线进行基准测试。我们评估了 PySpark 的 RDD API 与 Dask 的 Bag、Delayed 和 Futures。结果表明,尽管 Spark 与 Dask 之间存在细微差异,两种引擎表现相当。然而,Dask 流水线可能因 Python 的 GIL 而受限,具体取决于任务类型与集群配置。在所有情况下,主要限制因素均为数据传输。尽管任一引擎都适用于神经影像流水线,仍需更多努力以降低数据传输时间。

关键词

引用

@article{arxiv.1907.13030,
  title  = {A performance comparison of Dask and Apache Spark for data-intensive neuroimaging pipelines},
  author = {Mathieu Dugré and Valérie Hayot-Sasson and Tristan Glatard},
  journal= {arXiv preprint arXiv:1907.13030},
  year   = {2019}
}

备注

10 pages, 15 figures, 1 tables. To appear in the proceeding of the 14th WORKS Workshop on Topics in Workflows in Support of Large-Scale Science, 17 November 2019, Denver, CO, USA