Scaling Molecular Dynamics to 3000 Processors with Projections: A Performance Analysis Case Study
Some of the most challenging applications to parallelize scalably are the ones that present a relatively small amount of computation per iteration. Multiple interacting performance challenges must be identified and solved to attain high parallel efficiency in such cases. We present a case study involving NAMD, a parallel molecular dynamics application, and efforts to scale it to run on 3000 processors with Tera-FLOPS level performance. NAMD is implemented in Charm++, and the performance analysis was carried out using “projections”, the performance visualization/analysis tool associated with Charm++. We will showcase a series of optimizations facilitated by projections. The resultant performance of NAMD led to a Gordon Bell award at SC2002.
Unable to display preview. Download preview PDF.
- [AMCA95]S. Adve, J. Mellor-Crummey, M. Anderson, K. Kennedy, J.-C. Wang, and D. A. Reed. An Integrated Compilation and Performance Analysis Environment for Data Parallel Programs. In Proceedings of Supercomputing’95, December 1995.Google Scholar
- [BKdSH01]Milind Bhandarkar, L. V. Kale, Eric de Sturler, and Jay Hoeffinger. Object-Based Adaptive Load Balancing for MPI Programs. In Proceedings of the International Conference on Computational Science, San Francisco, CA, LNCS 2074, pages 108–117, May 2001.Google Scholar
- [HE91]M. T. Heath and J. A. Etheridge. Visualizing the Performance of Parallel Programs. IEEE Software, September 1991.Google Scholar
- [KK96]L. V. Kale and Sanjeev Krishnan. Charm++: Parallel Programming with Message-Driven Objects. In Gregory V. Wilson and Paul Lu, editors, Parallel Programming using C++, pages 175–213. MIT Press, 1996.Google Scholar
- [KSB99]Laxmikant Kalé, Robert Skeel, Milind Bhandarkar, Robert Brunner, Attila Gursoy, Neal Krawetz, James Phillips, Aritomo Shinozaki, Krishnan Varadarajan, and Klaus Schulten. NAMD2: Greater scalability for parallel molecular dynamics. Journal of Computational Physics, 151:283–312, 1999.MATHCrossRefGoogle Scholar
- [LK01]O. Lawlor and L. V. Kalé. Supporting dynamic parallel object arrays. In Proceedings of ACM 2001 Java Grande/ISCOPE Conference, pages 21–29, Stanford, CA, Jun 2001.Google Scholar
- [PZKK02]James C. Phillips, Gengbin Zheng, Sameer Kumar, and Laxmikant V. Kalé. Namd: Biomolecular simulation on thousands of processors. In Proceedings of SC 2002, Baltimore, MD, September 2002.Google Scholar
- [San96]Sanjeev Krishnan and L. V. Kale. A parallel array abstraction for data-driven objects. In Proceedings of Parallel Object-Oriented Methods and Applications Conference, Santa Fe, NM, February 1996.Google Scholar
- [SK96]Amitabh Sinha and L. V. Kale. Towards Automatic Peformance Analysis. In Proceedings of International Conference on Parallel Processing, volume III, pages 53–60, August 1996.Google Scholar