Bypassing the Conventional Software Stack Using Adaptable Runtime Systems

Simon A. F. Lund, Mads Ruben Burgdorff Kristensen, Brian Vinter, Dimitrios Katsaros

1 Citation (Scopus)

Abstract

High-level languages such as Python offer convenient language constructs and abstractions for readability and productivity. Such features and Python’s ability to serve as a steering language as well as a self-contained language for scientific computations has made Python a viable choice for high-performance computing. However, the Python interpreter’s reliance on shared objects and dynamic loading causes scalability issues that at large-scale consumes hours of wall-clock time just for loading the interpreter. The work in this paper explores an approach to bypass the conventional software stack, by replacing the Python interpreter on compute nodes with an adaptable runtime system capable of executing the compute intensive portions of a Python program. Allowing for a single instance of the Python interpreter, interpreting the users’ program and additionally moving program interpretation off the compute nodes. Thereby avoiding the scalability issue of the interpreter as well as providing a means of running Python programs on restrictive compute notes which are otherwise unable to run Python. The approach is experimentally evaluated through a prototype implementation of an extension to the Bohrium runtime system. The evaluation shows promising results as well as identifying issues for future work to address.

Original languageEnglish
Title of host publicationEuro-Par 2014 : Parallel Processing Workshops
VolumePart II
PublisherSpringer
Publication date2014
Pages303-313
Publication statusPublished - 2014

Fingerprint

Dive into the research topics of 'Bypassing the Conventional Software Stack Using Adaptable Runtime Systems'. Together they form a unique fingerprint.

Cite this