Accelerating Python Applications with Dask and ProxyStore
Fuente:
arXiv
Enregistré dans:
| Auteurs principaux: | , , , , |
|---|---|
| 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 |