ProtoMol: A Molecular Dynamics Framework with Incremental Parallelization

Molecular dynamics (MD) for a classical unconstrained simulation of bimolecular systems requires the solution of Newton’s equations of motion. At each step, one evaluates the contribution of interacting forces, and these are applied to the system using a numerical integrator. The most computationally expensive part is the force evaluation among atoms. MD is a challenging application because the time scales are long (processes of interest are in the order of microseconds to seconds, and the time steps are in the order of femtoseconds), and also because the system sizes are very large (thousands to hundreds of thousands of atoms). The time scale problem is typically addressed by using multiple time stepping integrators, whereas the second problem may be addressed through the use of parallel processing. In this paper, we evaluate the design of PROTOMOL [7], a framework for MD that uses encapsulation and generic programming to provide an extensible component platform for parallel algorithms for MD. The emphasis on design and extensibility distinguishes PROTOMOL from other excellent MD programs, such as GROMOS [15], Amber [18], CHARMM [2]. A program with similar goals, which provided the initial inspiration for PROTOMOL, is NAMD2 [8]. However, NAMD 2’s design goal is primarily high scalability, which forces the algorithm developer to consider the parallelization scheme of the program from the outset. We present an approach that hides parallelization details on some objects, and which thus allows for the incremental development of parallel modules within PROTOMOL. Our

[1]  James Crotinger,et al.  How templates enable high-performance scientific computing in C++ , 1999, Comput. Sci. Eng..

[2]  Daniel I. Okunbor,et al.  Parallel Molecular Dynamics Using Force Decomposition , 1999, Computational Molecular Dynamics.

[3]  Thierry Matthey,et al.  Evaluation of MPI's One-Sided Communication Mechanism for Short-Range Molecular Dynamics on the Origin2000 , 2000, PARA.

[4]  Alex Rapaport,et al.  Mpi-2: extensions to the message-passing interface , 1997 .

[5]  L. R. Scott,et al.  Parallelizing molecular dynamics using spatial decomposition , 1994, Proceedings of IEEE Scalable High Performance Computing Conference.

[6]  Jeremy G. Siek,et al.  The Matrix Template Library: A Unifying Framework for Numerical Linear Algebra , 1998, ECOOP Workshops.

[7]  G. R. Smith,et al.  Dynamic properties of Na+ ions in models of ion channels: a molecular dynamics study. , 1998, Biophysical journal.

[8]  Bruce Hendrickson,et al.  A new parallel method for molecular dynamics simulation of macromolecular systems , 1996 .

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

[10]  Joel H. Saltz,et al.  Parallelizing Molecular Dynamics Programs for Distributed Memory Machines: An Application of the Cha , 1994 .

[11]  Laxmikant V. Kale,et al.  NAMD2: Greater Scalability for Parallel Molecular Dynamics , 1999 .

[12]  Robert D. Skeel,et al.  Macromolecular dynamics on a shared‐memory multiprocessor , 1991 .

[13]  David Brown,et al.  A domain decomposition parallel processing algorithm for molecular dynamics simulations of systems of arbitrary connectivity. , 1997 .

[14]  Kenneth M. Merz,et al.  A highly portable parallel implementation of AMBER4 using the message passing interface standard , 1995, J. Comput. Chem..

[15]  David M. Beazley,et al.  Message-Passing Multi-Cell Molecular Dynamics on the Connection Machine 5 , 1994, Parallel Comput..

[16]  Todd L. Veldhuizen Blitz++: The Library that Thinks it is a Compiler , 2000 .

[17]  Andreas Windemuth,et al.  Advanced Algorithms for Molecular Dynamics Simulation: The Program PMD , 1995 .