Babel Remote Method Invocation

Babel is a high-performance, n-way language interoperability tool for the HPC community that now includes support for distributed computing via remote method invocation (RMI). We describe the design and implementation of Babel RMI, including its specification in our scientific interface definition language (SIDL), modifications to Babel's code generators, and support for third-party wire protocols. Babel RMI's programming model consistency, functional capabilities, and runtime performance are compared in context with COM, CORBA, grid/Web services, and Java RMI, Babel RMI's current features and performance uniquely recommend it for "short-haul" distributed computing within a machine room or single cluster. We describe the experience of some early adopters who use Babel RMI to couple and coordinate multiple MPI jobs on a single cluster to perform multiscale material science calculations.

[1]  Madhusudhan Govindaraju,et al.  Investigating the limits of SOAP performance for scientific computing , 2002, Proceedings 11th IEEE International Symposium on High Performance Distributed Computing.

[2]  Jarek Nieplocha,et al.  Component‐based integration of chemistry and optimization software , 2004, Journal of computational chemistry.

[3]  Scott R. Kohn,et al.  Divorcing Language Dependencies from a Scientific Software Library , 2001, PPSC.

[4]  James Arthur Kohl,et al.  A Component Architecture for High-Performance Scientific Computing , 2006, Int. J. High Perform. Comput. Appl..

[5]  Ian T. Foster Globus Toolkit Version 4: Software for Service-Oriented Systems , 2005, NPC.

[6]  Andrew Birrell,et al.  Implementing remote procedure calls , 1984, TOCS.

[7]  T Epperly,et al.  Software in the DOE: The Hidden Overhead of''The Build'' , 2002 .

[8]  R. E. Rudd,et al.  Generalized in situ adaptive tabulation for constitutive model evaluation in plasticity , 2005 .

[9]  Richard Mark Soley,et al.  Object Management Architecture Guide , 1993 .

[10]  Steven G. Parker,et al.  The CCA component model for high-performance scientific computing , 2006 .

[11]  Yogesh L. Simmhan,et al.  Programming the Grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications , 2002, Cluster Computing.

[12]  Richard D. Hornung,et al.  Embedded polycrystal plasticity and adaptive sampling , 2008 .

[13]  James Arthur Kohl,et al.  Data redistribution and remote method invocation in parallel component architectures , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[14]  José M. Troya,et al.  A CCA-compliant nuclear power plant simulator kernel , 2005, CBSE'05.

[15]  Jim Waldo Remote procedure calls and Java Remote Method Invocation , 1998, IEEE Concurr..

[16]  Ian T. Foster,et al.  Globus Toolkit Version 4: Software for Service-Oriented Systems , 2005, Journal of Computer Science and Technology.

[17]  Andy B. Yoo,et al.  Approved for Public Release; Further Dissemination Unlimited X-ray Pulse Compression Using Strained Crystals X-ray Pulse Compression Using Strained Crystals , 2002 .

[18]  James Arthur Kohl,et al.  Component-based software for high-performance scientific computing , 2005 .

[19]  Jarek Nieplocha,et al.  Multilevel Parallelism in Computational Chemistry using Common Component Architecture and Global Arrays , 2005, ACM/IEEE SC 2005 Conference (SC'05).

[20]  David E. Bernholdt High-Performance Parallel and Distributed Scientific Computing with the Common Component Architecture , 2004, International Conference on Computational Science.

[21]  Jason Pritchard COM and CORBA Side by Side: Architectures, Strategies, and Implementations , 1999 .

[22]  James Arthur Kohl,et al.  How the common component architecture advances computational science , 2006 .

[23]  Timothy J. Tautges,et al.  Interoperable geometry and mesh components for SciDAC applications , 2005 .

[24]  James Arthur Kohl,et al.  A Component Architecture for High-Performance Computing , 2003 .

[25]  J Leek,et al.  Proposed Babel/SIDL Changes to Support RMI , 2005 .

[26]  David E. Bernholdt,et al.  Components, the Common Component Architecture, and the Climate/Weather/Ocean Community , 2003 .

[27]  Roger Riggs,et al.  A Distributed Object Model for the Java System , 1996, Comput. Syst..

[28]  D. Box,et al.  Simple object access protocol (SOAP) 1.1 , 2000 .

[29]  James Arthur Kohl,et al.  Parallel PDE-Based Simulations Using the Common Component Architecture , 2006 .