NAMD: A Case Study in Multilingual Parallel Programming

Parallel languages are tools for constructing efficient application programs, while reducing the required labor. In this light, using the most appropriate tool for each component of a complex system seems natural, resulting in multi-paradigm multilingual programming. The Converse system developed at Illinois addresses the issues involved in supporting multilingual applications. This paper describes the development of a large parallel application in Computational Biophysics from the point of view of multilingual programming. NAMD, a molecular dynamics program, is implemented using three different “paradigms”: Parallel message-driven objects, Message-Passing, and Multithreading. The issues faced in implementing such a system, and the advantages of multilingual approach are discussed. NAMD is already operational on many parallel machines. Some preliminary performance results are presented and the lessons learned from this experience are discussed.

[1]  Laxmikant V. Kalé,et al.  The Chare Kernel Parallel Programming Language and System , 1990, ICPP.

[2]  Dennis Gannon,et al.  Distributed pC++ Basic Ideas for an Object Parallel Language , 1993, Sci. Program..

[3]  Laxmikant V. Kalé,et al.  NAMD: a Parallel, Object-Oriented Molecular Dynamics Program , 1996, Int. J. High Perform. Comput. Appl..

[4]  Laxmikant V. Kalé,et al.  Agents: An Undistorted Representation of Problem Structure , 1995, LCPC.

[5]  Attila Gursoy,et al.  Simplified expression of message-driven programs and quantification of their impact on performance , 1994 .

[6]  John A. Board,et al.  A portable distributed implementation of the parallel multipole tree algorithm , 1995, Proceedings of the Fourth IEEE International Symposium on High Performance Distributed Computing.

[7]  L.V. Kale,et al.  MICE: a prototype MPI implementation in Converse environment , 1996, Proceedings. Second MPI Developer's Conference.

[8]  Laxmikant V. Kalé,et al.  Design and Implementation of Parallel Java with Global Object Space , 1997, PDPTA.

[9]  Laxmikant V. Kalé,et al.  Converse: an interoperable framework for parallel programming , 1996, Proceedings of International Conference on Parallel Processing.

[10]  K Schulten,et al.  VMD: visual molecular dynamics. , 1996, Journal of molecular graphics.

[11]  Laxmikant V. Kalé,et al.  CHARM++: a portable concurrent object oriented system based on C++ , 1993, OOPSLA '93.

[12]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.