skip to main content
10.1145/2822332.2822338acmconferencesArticle/Chapter ViewAbstractPublication PagesscConference Proceedingsconference-collections
research-article
Public Access

Interlanguage parallel scripting for distributed-memory scientific computing

Published: 15 November 2015 Publication History

Abstract

Scripting languages such as Python and R have been widely adopted as tools for the development of scientific software because of the expressiveness of the languages and their 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, and parallel filesystem overheads due to the small file system accesses common in scripted approaches. We present 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. We present a technique to efficiently launch scripted applications on supercomputers, and we demonstrate high performance, such as invoking 14M Python interpreters per second on Blue Waters.

References

[1]
A. N. Adhikari, J. Peng, M. Wilde, J. Xu, K. F. Freed, and T. R. Sosnick. Modeling large regions in proteins: Applications to loops, termini, and folding. Protein Science, 21(1):107--121, 2012.
[2]
T. G. Armstrong, J. M. Wozniak, M. Wilde, and I. T. Foster. Compiler techniques for massively scalable implicit task parallelism. In Proc. SC, 2014.
[3]
D. M. Beazley. SWIG: An easy to use tool for integrating scripting languages with C and C++. In Proc. USENIX Tcl/Tk Workshop, 1996.
[4]
J. Bezanson, A. Edelman, S. Karpinski, and V. B. Shah. Julia: A fresh approach to numerical computing, 2014. http://arxiv.org/abs/1411.1607.
[5]
Celery: Distributed Task Queue. celeryproject.org.
[6]
B. Chamberlain, D. Callahan, and H. Zima. Parallel programmability and the Chapel language. Int. J. High Perform. Comput. Appl., 21(3):291--312, 2007.
[7]
T. W. Epperly, G. Kumfert, T. Dahlgren, D. Ebner, J. Leek, A. Prantl, and S. Kohn. High-performance language interoperability for scientific computing through Babel. J. of High-performance Computing Applications, 26(3), 2012.
[8]
M. Folk, R. McGrath, and N. Yeager. HDF: An update and future directions. In Proc. Geoscience and Remote Sensing Symposium, 1999.
[9]
R. Fourer, D. M. Gay, and B. Kernighan. AMPL: a mathematical programming language. In S. W. Wallace, editor, Algorithms and model formulations in mathematical programming, pages 150--151. Springer-Verlag New York, Inc., New York, NY, USA, 1989.
[10]
R. Gordon. Essential JNI: Java Native Interface. Prentice-Hall, Inc., 1998.
[11]
P. Klosowski, M. Koennecke, J. Tischler, and R. Osborn. NeXus: A common format for the exchange of neutron and synchrotron data. Physica B: Condensed Matter, 241--243:151--153, 1997.
[12]
S. J. Krieder and I. Raicu. Towards the support for many-task computing on many-core computing platforms. Doctoral Showcase, IEEE/ACM Supercomputing/SC, 2012.
[13]
M. Lunacek, J. Braden, and T. Hauser. The scaling of many-task computing approaches in Python on cluster supercomputers. In Proc. CLUSTER, 2013.
[14]
E. L. Lusk, S. C. Pieper, and R. M. Butler. More scalability, less pain: A simple programming model and its implementation for extreme computing. SciDAC Review, 17:30--37, January 2010.
[15]
J. McFarland. FortWrap web site. http://fortwrap.sourceforge.net.
[16]
R. Osborn. NeXpy web site. http://nexpy.github.io/nexpy.
[17]
F. Pérez and B. E. Granger. IPython: A system for interactive scientific computing. Comput. Sci. Eng., 9(3):21--29, May 2007.
[18]
J. C. Phillips, J. E. Stone, K. L. Vandivort, T. G. Armstrong, J. M. Wozniak, M. Wilde, and K. Schulten. Petascale Tcl with NAMD, VMD, and Swift/T. In Proc. High Performance Technical Computing in Dynamic Languages at SC, 2014.
[19]
A. Prantl, T. Epperly, S. Imam, and V. Sarkar. Interfacing Chapel with traditional HPC programming languages. In Proc. Partitioned Global Address Space Programming Models, 2011.
[20]
K. Price, R. Storn, and J. Lampinen. Differential evolution. Springer, 2005.
[21]
T. Proffen and R. Neder. DISCUS: A program for diffuse scattering and defect-structure simulation. Journal of Applied Crystallography, 30(2):171--175, 1997.
[22]
S. van der Walt, S. Colbert, and G. Varoquaux. The NumPy array: A structure for efficient numerical computation. Computing in Science Engineering, 13(2):22--30, 2011.
[23]
M. Wilde, M. Hategan, J. M. Wozniak, B. Clifford, D. S. Katz, and I. Foster. Swift: A language for distributed parallel scripting. Parallel Computing, 37:633--652, 2011.
[24]
J. M. Wozniak, T. G. Armstrong, K. Maheshwari, E. L. Lusk, D. S. Katz, M. Wilde, and I. T. Foster. Turbine: A distributed-memory dataflow engine for high performance many-task applications. Fundamenta Informaticae, 28(3), 2013.
[25]
J. M. Wozniak, T. G. Armstrong, K. C. Maheshwari, D. S. Katz, M. Wilde, and I. T. Foster. Toward interlanguage parallel scripting for distributed-memory scientific computing. In Proc. CLUSTER, 2015.
[26]
J. M. Wozniak, T. G. Armstrong, M. Wilde, D. S. Katz, E. Lusk, and I. T. Foster. Swift/T: Scalable data flow programming for many-task applications. In Proc. CCGrid, 2013.
[27]
J. M. Wozniak, T. Peterka, T. G. Armstrong, J. Dinan, E. Lusk, M. Wilde, and I. Foster. Dataflow coordination of data-parallel tasks via MPI 3.0. In Proc. EuroMPI, 2013.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
WORKS '15: Proceedings of the 10th Workshop on Workflows in Support of Large-Scale Science
November 2015
98 pages
ISBN:9781450339896
DOI:10.1145/2822332
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 November 2015

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Funding Sources

Conference

SC15
Sponsor:

Acceptance Rates

WORKS '15 Paper Acceptance Rate 9 of 13 submissions, 69%;
Overall Acceptance Rate 30 of 54 submissions, 56%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)61
  • Downloads (Last 6 weeks)14
Reflects downloads up to 14 Sep 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media