  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.
