Avoiding Algorithmic Obfuscation in a Message-Driven Parallel MD Code

Abstract

Parallel molecular dynamics programs employing shared memory or replicated data architectures encounter problems scaling to large numbers of processors. Spatial decomposition schemes offer better performance in theory, but often suffer from complexity of implementation and difficulty in load balancing. In the program NAMD 2, we have addressed these issues with a hybrid decomposition scheme in which atoms are distributed among processors in regularly sized patches while the work involved in computing interactions between patches is decomposed into independently assignable compute objects. When needed, patches are represented on remote processors by proxies. The execution of compute objects takes place in a prioritized message-driven manner, allowing maximum overlap of work and communication without significant programmer effort. In order to avoid obfuscation of the simulation algorithm by the parallel framework, the algorithm associated with a patch is encapsulated by a single function executing in a separate thread. Output and calculations requiring globally reduced quantities are similarly isolated in a single thread executing on the master node. This combination of features allows us to make efficient use of large parallel machines and clusters of multiprocessor workstations while presenting minimal barriers to method development and implementation.

Research Areas

Text Ref

James C. Phillips and Robert Brunner and Aritomo Shinozaki and Milind Bhandarkar
 and Neal Krawetz and Laxmikant Kale and Robert D. Skeel and Klaus Schulten,
"Avoiding Algorithmic Obfuscation in a Message-Driven Parallel MD Code",
Computational Molecular Dynamics: Challenges, Methods, Ideas, Lecture Notes 
in Computational Science and Engineering, Publ: Springer-Verlag, 
ed. P. Deuflhard and J. Hermans and B. Leimkuhler and A. Mark and S. Reich 
and R. D. Skeel, vol. 4, November 1998, pp. 472--482.

BibTex

@incollection{ObfuscMD98,
  author={James C. Phillips and Robert Brunner and Aritomo Shinozaki
                  and Milind Bhandarkar and Neal Krawetz
                  and Laxmikant Kal{\'e} and Robert D. Skeel
                  and Klaus Schulten},
  title={Avoiding Algorithmic Obfuscation in a Message-Driven Parallel
                  {MD} Code},
  booktitle={{Computational Molecular Dynamics: Challenges, Methods, Ideas}},
  series={Lecture Notes in Computational Science and Engineering},
  publisher={Springer-Verlag},
  address={},
  hideeditor={P. Deuflhard and J. Hermans and B. Leimkuhler and A. Mark
                  and S. Reich and R. D. Skeel},
  pages={472--482},
  volume=4,
  month={November},
  year=1998,
  note={},
  tbreference={256},
  tbstatus={Published.},
  annote={This work was supported in part by NIH Grant P41RR05969
                  and NSF Grants BIR-9318159.}
}