Molecular dynamics programs simulate the behavior of biomolecular systems,
leading to understanding of their functions. However, the computational com
plexity of such simulations is enormous. Parallel machines provide the pote
ntial to meet this computational challenge. To harness this potential, it i
s necessary to develop a scalable program. It is also necessary that the pr
ogram be easily modified by application-domain programmers. The NAMD2 progr
am presented in this paper seeks to provide these desirable features. It us
es spatial decomposition combined with force decomposition to enhance scala
bility. It uses intelligent periodic load balancing, so as to maximally uti
lize the available compute power. It is modularly organized, and implemente
d using Charm++, a parallel C++ dialect, so as to enhance its modifiability
. It uses a combination of numerical techniques and algorithms to ensure th
at energy drifts are minimized, ensuring accuracy in long running calculati
ons. NAMD2 uses a portable run-time framework called Converse that also sup
ports interoperability among multiple parallel paradigms. As a result, diff
erent components of applications can be written in the most appropriate par
allel paradigms. NAMD2 runs on most parallel machines including workstation
clusters and has yielded speedups in excess of 180 on 220 processors. This
paper also describes the performance obtained on some benchmark applicatio
ns. (C) 1999 Academic Press.