English

Accelerating Python Applications with Dask and ProxyStore

Distributed, Parallel, and Cluster Computing 2024-10-18 v2

Abstract

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.

Keywords

Cite

@article{arxiv.2410.12092,
  title  = {Accelerating Python Applications with Dask and ProxyStore},
  author = {J. Gregory Pauloski and Klaudiusz Rydzy and Valerie Hayot-Sasson and Ian Foster and Kyle Chard},
  journal= {arXiv preprint arXiv:2410.12092},
  year   = {2024}
}

Comments

To be presented as a demo at the SC24 Workshop on High Performance Python for Science at Scale (HPPSS)