pPython for Parallel Python Programming
Authors:
Chansup Byun,
William Arcand,
David Bestor,
Bill Bergeron,
Vijay Gadepally,
Michael Houle,
Matthew Hubbell,
Hayden Jananthan,
Michael Jones,
Kurt Keville,
Anna Klein,
Peter Michaleas,
Lauren Milechin,
Guillermo Morales,
Julie Mullen,
Andrew Prout,
Albert Reuther,
Antonio Rosa,
Siddharth Samsi,
Charles Yee,
Jeremy Kepner
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. The core data structure in pPython is a distributed numerical array whose distribution onto multiple processors is specified with a map c…
▽ More
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. The core data structure in pPython is a distributed numerical array whose distribution onto multiple processors is specified with a map construct. Communication operations between distributed arrays are abstracted away from the user and pPython transparently supports redistribution between any block-cyclic-overlapped distributions in up to four dimensions. pPython follows a SPMD (single program multiple data) model of computation. pPython runs on any combination of heterogeneous systems that support Python, including Windows, Linux, and MacOS operating systems. In addition to running transparently on single-node (e.g., a laptop), pPython provides a scheduler interface, so that pPython can be executed in a massively parallel computing environment. The initial implementation uses the Slurm scheduler. Performance of pPython on the HPC Challenge benchmark suite demonstrates both ease of programming and scalability.
△ Less
Submitted 31 August, 2022;
originally announced August 2022.
Big Memory Servers and Modern Approaches to Disk-Based Computation
Authors:
Po Hao Chen,
Kurt Keville
Abstract:
The Big Memory solution is a new computing paradigm facilitated by commodity server platforms that are available today. It exposes a large RAM subsystem to the Operating System and therefore affords application programmers a number of previously unavailable options for data management. Additionally, certain vendor-specific solutions offer additional memory management options that will result in be…
▽ More
The Big Memory solution is a new computing paradigm facilitated by commodity server platforms that are available today. It exposes a large RAM subsystem to the Operating System and therefore affords application programmers a number of previously unavailable options for data management. Additionally, certain vendor-specific solutions offer additional memory management options that will result in better data reliability and access speeds.
△ Less
Submitted 23 July, 2022;
originally announced July 2022.