Juelich Supercomputing Centre
A Load Balancing Library for Particle Simulation Codes
Scalability of parallel applications depends on a number of characteristics, among which is efficient communication, equal distribution of work or efficient data layout. Especially for methods based on domain decomposition, as it is standard for, e.g., molecular dynamics, dissipative particle dynamics or particle-in-cell methods, unequal load is to be expected for cases where particles are not distributed homogeneously, different costs of interaction calculations are present or heterogeneous architectures are invoked, to name a few. For these scenarios the code has to decide how to redistribute the work among processes according to a work sharing protocol or to dynamically adjust computational domains, to balance the workload. In the talk various methods will be discussed which have been integrated into a library, which can be linked to particle simulation codes. It is discussed how the library can be used as standalone tool in simulations or be combined with existing load balancing approaches, e.g. orthogonal recursive bisection, as it is implemented in LAMMPS.