Performance comparison of Dask and Apache Spark on HPC systems for Neuroimaging

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Dugré, Mathieu, Hayot-Sasson, Valérie, Glatard, Tristan
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866929371245182976
author Dugré, Mathieu
Hayot-Sasson, Valérie
Glatard, Tristan
author_facet Dugré, Mathieu
Hayot-Sasson, Valérie
Glatard, Tristan
contents The general increase in data size and data sharing motivates the adoption of Big Data strategies in several scientific disciplines. However, while several options are available, no particular guidelines exist for selecting a Big Data engine. In this paper, we compare the runtime performance of two popular Big Data engines with Python APIs, Apache Spark, and Dask, in processing neuroimaging pipelines. Our experiments use three synthetic \HL{neuroimaging} applications to process the \SI{606}{\gibi\byte} BigBrain image and an actual pipeline to process data from thousands of anatomical images. We benchmark these applications on a dedicated HPC cluster running the Lustre file system while using varying combinations of the number of nodes, file size, and task duration. Our results show that although there are slight differences between Dask and Spark, the performance of the engines is comparable for data-intensive applications. However, Spark requires more memory than Dask, which can lead to slower runtime depending on configuration and infrastructure. In general, the limiting factor was the data transfer time. While both engines are suitable for neuroimaging, more efforts need to be put to reduce the data transfer time and the memory footprint of applications.
format Preprint
id arxiv_https___arxiv_org_abs_2406_01409
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Performance comparison of Dask and Apache Spark on HPC systems for Neuroimaging
Dugré, Mathieu
Hayot-Sasson, Valérie
Glatard, Tristan
Distributed, Parallel, and Cluster Computing
The general increase in data size and data sharing motivates the adoption of Big Data strategies in several scientific disciplines. However, while several options are available, no particular guidelines exist for selecting a Big Data engine. In this paper, we compare the runtime performance of two popular Big Data engines with Python APIs, Apache Spark, and Dask, in processing neuroimaging pipelines. Our experiments use three synthetic \HL{neuroimaging} applications to process the \SI{606}{\gibi\byte} BigBrain image and an actual pipeline to process data from thousands of anatomical images. We benchmark these applications on a dedicated HPC cluster running the Lustre file system while using varying combinations of the number of nodes, file size, and task duration. Our results show that although there are slight differences between Dask and Spark, the performance of the engines is comparable for data-intensive applications. However, Spark requires more memory than Dask, which can lead to slower runtime depending on configuration and infrastructure. In general, the limiting factor was the data transfer time. While both engines are suitable for neuroimaging, more efforts need to be put to reduce the data transfer time and the memory footprint of applications.
title Performance comparison of Dask and Apache Spark on HPC systems for Neuroimaging
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2406.01409