A highly adaptive load balancing algorithm for parallel simulations using particle methods, such as molecular dynamics and smoothed particle hydrodynamics (SPH), is developed. Our algorithm is based on the dynamic spatial decomposition of simulated material samples between Voronoi subdomains, where each subdomain with all its particles is handled by a single computational process which is typically run on a single CPU core of a multiprocessor computing cluster.The algorithm displaces the positions of neighbor Voronoi subdomains in accordance with the local load imbalance between the corresponding processes. It results in particle transfers from heavy-loaded processes to less-loaded ones. Iteration of the algorithm puts into alignment the processor loads. Convergence to a well-balanced decomposition from imbalanced one is improved by the usage of multi-body terms in the balancing displacements.The high adaptability of the balancing algorithm to simulation conditions is illustrated by SPH modeling of the dynamic behavior of materials under extreme conditions, which are characterized by large pressure and velocity gradients, as a result of which the spatial distribution of particles varies greatly in time. The higher parallel efficiency of our algorithm in such conditions is demonstrated by comparison with the corresponding static decomposition of the computational domain. Our algorithm shows almost perfect strong scalability in tests using from tens to several thousand processes.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.