Computer simulation of liquids
Computer simulation of liquids
Three-dimensional grid partitioning for network parallel processing
CSC '94 Proceedings of the 22nd annual ACM computer science conference on Scaling up : meeting the challenge of complexity in real-world computing applications: meeting the challenge of complexity in real-world computing applications
Fast parallel algorithms for short-range molecular dynamics
Journal of Computational Physics
Parallel many-body simulations without all-to-all communication
Journal of Parallel and Distributed Computing
IMSCCS '06 Proceedings of the First International Multi-Symposiums on Computer and Computational Sciences - Volume 1 (IMSCCS'06) - Volume 01
Adaptive Load Balancing for Long-Range MD Simulations in A Distributed Environment
ICPP '06 Proceedings of the 2006 International Conference on Parallel Processing
Performance and cost effectiveness of a cluster of workstations and MD-GRAPE 2 for MD simulations
ISPDC'03 Proceedings of the Second international conference on Parallel and distributed computing
HiPC'04 Proceedings of the 11th international conference on High Performance Computing
Hi-index | 0.00 |
Evaluating the Force Matrix constitutes the most computationally intensive part of a Classical Molecular Dynamics (MD) simulation. In three-body MD simulations, the total energy of the system is determined by the energy of every unique triple in the system and the force matrix is three-dimensional. The execution time of a three-body MD algorithm is thus proportional to the cube of the number of atoms in the system. Fortunately, there exist symmetries in the Force Matrix that can be exploited to improve the running time of the algorithm. While this optimization is straight forward to implement in the case of sequential code, it has proven to be nontrivial for parallel code even in a homogeneous environment. In this paper, we present two force matrix transformations that are capable of exploiting the symmetries in a 3-body force matrix in both a homogeneous and a heterogeneous environment while balancing the load among all the participating processors. The first transformation distributes the number of interactions to be computed uniformly among all the slices of the force matrix along any of the axes. The transformed matrix can be scheduled using any well known heterogeneous slice-level scheduling technique. The second transformation distributes interactions to be computed uniformly over the entire volume of the force matrix allowing us to perform a block decomposition of the force matrix. The transformed force matrix can be scheduled by any block level scheduling algorithm. We also derive theoretical bounds for efficiency and load balance for our transformations and prove some interesting and useful properties of our transformations and evaluate their advantages and disadvantages. The performance of an MPI implementation of the transformations is studied in terms of the Step Time Variation Ratio (STVR) in a homogeneous and heterogeneous environment.