English

Toward Interlanguage Parallel Scripting for Distributed-Memory Scientific Computing

Distributed, Parallel, and Cluster Computing 2021-07-08 v1

Abstract

Scripting languages such as Python and R have been widely adopted as tools for the productive development of scientific software because of the power and expressiveness of the languages and available libraries. However, deploying scripted applications on large-scale parallel computer systems such as the IBM Blue Gene/Q or Cray XE6 is a challenge because of issues including operating system limitations, interoperability challenges, parallel filesystem overheads due to the small file system accesses common in scripted approaches, and other issues. We present here a new approach to these problems in which the Swift scripting system is used to integrate high-level scripts written in Python, R, and Tcl, with native code developed in C, C++, and Fortran, by linking Swift to the library interfaces to the script interpreters. In this approach, Swift handles data management, movement, and marshaling among distributed-memory processes without direct user manipulation of low-level communication libraries such as MPI. We present a technique to efficiently launch scripted applications on large-scale supercomputers using a hierarchical programming model.

Keywords

Cite

@article{arxiv.2107.02841,
  title  = {Toward Interlanguage Parallel Scripting for Distributed-Memory Scientific Computing},
  author = {Justin M. Wozniak and Timothy G. Armstrong and Ketan C. Maheshwari and Daniel S. Katz and Michael Wilde and Ian T. Foster},
  journal= {arXiv preprint arXiv:2107.02841},
  year   = {2021}
}

Comments

2015 IEEE International Conference on Cluster Computing