Parallel Computers and Molecular Simulation
- 1 November 1987
- journal article
- research article
- Published by Taylor & Francis in Molecular Simulation
- Vol. 1 (1-2), 1-45
- https://doi.org/10.1080/08927028708080929
Abstract
The term “molecular simulation” covers a variety of techniques that can be applied to many problems in classical statistical mechanics, ranging from lattice spin models to the dynamics of protein molecules. Two well-established techniques. Metropolis Monte Carlo and molecular dynamics, serve to illustrate the computational problems involved. The requirement for powerful and cost-effective computing has led to an interest in parallel computers in this field. Parallel computers are defined as computers having several processors working simultaneously under the control of an application program. The processors may obey common (SIMD) or individual (MIMD) instruction streams. The ICL DAP is an example of the former; the Intel hypercube is an example of an MIMD or concurrent machine employing conventional microprocessors. The INMOS Transputer is a high-performance microprocessor designed specifically for concurrent processing. SIMD computers may be programmed in versions of Fortran extended to include operations on all elements of an array in parallel. Programming of multiprocessors in standard sequential languages is cumbersome. The language Occam is designed to support concurrent processing simply and effectively, and is the native language of the Transputer. Problems in molecular simulation possess a rich degree of intrinsic parallelism at several different levels. There are three basic strategies in adapting them to parallel processing, involving the mapping onto processors of particles, of interactions, or of regions of space. Lattice simulations are ideally suited to the DAP, as lattice sites can be identified directly with processing elements. Fluids can be easily simulated on SIMD machines if a small system can be used and all interactions in the system evaluated in parallel. Simulation of larger systems requires the use of a neighbour list, or a cell algorithm in which different regions of space are handled in parallel. In either case, there is a “gather/scatter” overhead. On multiprocessors all-pairs and cell algorithms can be used; for less regular problems, truly asynchronous methods involving algorithmic rather than geometrical parallelism are possible. These methods are somewhat similar to those used in special purpose computers built for the Ising model and for molecular dynamics.Keywords
This publication has 46 references indexed in Scilit:
- Simulation of statistical mechanical systems on transputer arraysComputer Physics Communications, 1986
- An optimized MD program for the vector computer cyber 205Computer Physics Communications, 1986
- Very high performance pseudo-random number generation on DAPComputer Physics Communications, 1985
- The array features in FORTRAN 8x with examples of their useComputer Physics Communications, 1985
- WATERLOPP V2/64: A highly parallel machine for numerical computationComputer Physics Communications, 1985
- Parallelism in computations in quantum and statistical mechanicsComputer Physics Communications, 1985
- Concurrency and parallelism in MC and MD simulations in physicsComputer Physics Communications, 1985
- CHARMM: A program for macromolecular energy, minimization, and dynamics calculationsJournal of Computational Chemistry, 1983
- Molecular dynamics simulation using the cray-1 vector processing computerComputer Physics Communications, 1981
- P3M3DP—The three-dimensional periodic particle-particle/ particle-mesh programComputer Physics Communications, 1980