Skip to main content

NAMD: A case study in multilingual parallel programming

  • Parallel Programming Methods and Language Extensions
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1366))

Abstract

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.

This work was supported in part by National Institutes of Health (NIH PHS 5 P41 RR05969-04 and NIH HL 16059) and National Science Foundation (NSF/GCAG BIR 93-18159 and NSF BIR 94-23827EQ). In addition, J. Phillips was supported by Computational Science Graduate Fellowship from United States Department of Energy.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Milind Bhandarkar and L. V. Kale. MICE: A Prototype MPI Implementation in Converse Environment. In Proceedings of the second MPI Developers Conference, pages 26–31, South Bend, Indiana, July 1996.

    Google Scholar 

  2. F. Bodin, P. Beckman, D. Cannon, S. Narayana, and S. Yang. Distributed pC++: Basic Ideas for an Object Parallel Language. Scientific Programming, 2(3), 1993.

    Google Scholar 

  3. N. Carriero and D. Gelernter. Linda in Context. Communications of the ACM, 32(4), April 1989.

    Google Scholar 

  4. A. Gursoy. Simplified Expression of Message Driven Programs and Quantification of Their Impact on Performance. PhD thesis, University of Illinois at Urbana-Champaign, June 1994. Also, Technical Report UIUCDCS-R-94-1852.

    Google Scholar 

  5. William F. Humphrey, Andrew Dalke, and Klaus Schulten. VMD-Visual molecular dynamics. Journal of Molecular Graphics, 14(1):33–38, 1996.

    Google Scholar 

  6. L. V. Kale, Milind Bhandarkar, Narain Jagathesan, Sanjeev Krishnan, and Joshua Yelon. Converse: An Interoperable Framework for Parallel Programming. In Proceedings of the 10th International Parallel Processing Symposium, pages 212–217, Honolulu, Hawaii, April 1996.

    Google Scholar 

  7. L. V. Kalé, Miind Bhandarkar, and Terry Wilmarth. Design and implementation of parallel java with a global object space. Technical report, Parallel Programming Laboratory, Department of Computer Science, University of Illinois at Urbana Champaign, April 1997, Submitted for publication

    Google Scholar 

  8. L.V. Kale. The Chare Kernel parallel programming language and system. In Proceedings of the International Conference on Parallel Processing, August 1990.

    Google Scholar 

  9. L.V. Kale and S. Krishnan. Charm++: A portable concurrent object oriented system based on C++. In Proceedings of the Conference on Object Oriented Programming Systems, Languages and Applications, September 1993.

    Google Scholar 

  10. L.V. Kale and Amitabh Sinha. Projections: A scalable performance tool. In Parallel Systems Fair, International Parallel Processing Symposium, pages 108–114, April 1993.

    Google Scholar 

  11. E. Kornkven and L. V. Kale. Efficient implementation of high performance fortran via adaptive scheduling-an overview. In Proceedings of the International Workshop on Parallel Processing, Bangalore, India, December 1994.

    Google Scholar 

  12. Vance P. Morrison. Import/dome language reference manual. Technical report, US. Army Corps of Engineering Research Laboratory, ASSET group., 1995.

    Google Scholar 

  13. Mark Nelson, William Humphrey, Attila Gursoy, Andrew Dalke, Laxmikant Kalé, Robert D. Skeel, and Klaus Schulten. NAMD-A parallel, object-oriented molecular dynamics program. J. Supercomputing App., 1996.

    Google Scholar 

  14. W. Rankin and J. Board. A portable distributed implementation of the parallel multipole tree algorithm. IEEE Symposium on High Performance Distributed Computing, 1995. [Duke University Technical Report 95-002].

    Google Scholar 

  15. Joshua Yelon and L. V. Kale. Agents: An undistorted representation of problem structure. In Lecture Notes in Computer Science, volume 1033, pages 551–565. Springer-Verlag, August 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Zhiyuan Li Pen-Chung Yew Siddharta Chatterjee Chua-Huang Huang P. Sadayappan David Sehr

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kalé, L.V., Bhandarkar, M., Brunner, R., Krawetz, N., Phillips, J., Shinozaki, A. (1998). NAMD: A case study in multilingual parallel programming. In: Li, Z., Yew, PC., Chatterjee, S., Huang, CH., Sadayappan, P., Sehr, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1997. Lecture Notes in Computer Science, vol 1366. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0032705

Download citation

  • DOI: https://doi.org/10.1007/BFb0032705

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64472-9

  • Online ISBN: 978-3-540-69788-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics