English

pPython Performance Study

Distributed, Parallel, and Cluster Computing 2024-01-03 v1 Performance Programming Languages

Abstract

pPython seeks to provide a parallel capability that provides good speed-up without sacrificing the ease of programming in Python by implementing partitioned global array semantics (PGAS) on top of a simple file-based messaging library (PythonMPI) in pure Python. pPython follows a SPMD (single program multiple data) model of computation. pPython runs on a single-node (e.g., a laptop) running Windows, Linux, or MacOS operating systems or on any combination of heterogeneous systems that support Python, including on a cluster through a Slurm scheduler interface so that pPython can be executed in a massively parallel computing environment. It is interesting to see what performance pPython can achieve compared to the traditional socket-based MPI communication because of its unique file-based messaging implementation. In this paper, we present the point-to-point and collective communication performances of pPython and compare them with those obtained by using mpi4py with OpenMPI. For large messages, pPython demonstrates comparable performance as compared to mpi4py.

Keywords

Cite

@article{arxiv.2309.03931,
  title  = {pPython Performance Study},
  author = {Chansup Byun and William Arcand and David Bestor and Bill Bergeron and Vijay Gadepally and Michael Houle and Matthew Hubbell and Hayden Jananthan and Michael Jones and Anna Klein and Peter Michaleas and Lauren Milechin and Guillermo Morales and Julie Mullen and Andrew Prout and Albert Reuther and Antonio Rosa and Siddharth Samsi and Charles Yee and Jeremy Kepner},
  journal= {arXiv preprint arXiv:2309.03931},
  year   = {2024}
}

Comments

arXiv admin note: substantial text overlap with arXiv:2208.14908