Accelerating Python Applications with Dask and ProxyStore

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Pauloski, J. Gregory, Rydzy, Klaudiusz, Hayot-Sasson, Valerie, Foster, Ian, Chard, Kyle
Format: Preprint
Publié: 2024
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866914976659144704
author Pauloski, J. Gregory
Rydzy, Klaudiusz
Hayot-Sasson, Valerie
Foster, Ian
Chard, Kyle
author_facet Pauloski, J. Gregory
Rydzy, Klaudiusz
Hayot-Sasson, Valerie
Foster, Ian
Chard, Kyle
contents Applications are increasingly written as dynamic workflows underpinned by an execution framework that manages asynchronous computations across distributed hardware. However, execution frameworks typically offer one-size-fits-all solutions for data flow management, which can restrict performance and scalability. ProxyStore, a middleware layer that optimizes data flow via an advanced pass-by-reference paradigm, has shown to be an effective mechanism for addressing these limitations. Here, we investigate integrating ProxyStore with Dask Distributed, one of the most popular libraries for distributed computing in Python, with the goal of supporting scalable and portable scientific workflows. Dask provides an easy-to-use and flexible framework, but is less optimized for scaling certain data-intensive workflows. We investigate these limitations and detail the technical contributions necessary to develop a robust solution for distributed applications and demonstrate improved performance on synthetic benchmarks and real applications.
format Preprint
id arxiv_https___arxiv_org_abs_2410_12092
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Accelerating Python Applications with Dask and ProxyStore
Pauloski, J. Gregory
Rydzy, Klaudiusz
Hayot-Sasson, Valerie
Foster, Ian
Chard, Kyle
Distributed, Parallel, and Cluster Computing
Applications are increasingly written as dynamic workflows underpinned by an execution framework that manages asynchronous computations across distributed hardware. However, execution frameworks typically offer one-size-fits-all solutions for data flow management, which can restrict performance and scalability. ProxyStore, a middleware layer that optimizes data flow via an advanced pass-by-reference paradigm, has shown to be an effective mechanism for addressing these limitations. Here, we investigate integrating ProxyStore with Dask Distributed, one of the most popular libraries for distributed computing in Python, with the goal of supporting scalable and portable scientific workflows. Dask provides an easy-to-use and flexible framework, but is less optimized for scaling certain data-intensive workflows. We investigate these limitations and detail the technical contributions necessary to develop a robust solution for distributed applications and demonstrate improved performance on synthetic benchmarks and real applications.
title Accelerating Python Applications with Dask and ProxyStore
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2410.12092