A load-balancing algorithm for a parallel electromagnetic particle-in-cell code
Particle-in-cell simulations often suffer from load-imbalance on parallel machines due to the competing requirements of the field-solve and particle-push computations. We propose a new algorithm that balances the two computations independently. The grid for the field-solve computation is statically partitioned. The particles within a processor's sub-domain(s) are dynamically balanced by migrating spatially-compact groups of particles from heavily loaded processors to lightly loaded ones as needed. The algorithm has been implemented in the QUICKSILVER electromagnetic particle-in-cell code. We provide details of the implementation and present performance results for QUICKSILVER running models with up to a billion grid cells and particles on thousands of processors of a large distributed-memory parallel machine. (C) 2002 Elsevier Science B.V. All rights reserved.
load-balancing electromagnetics particle-in-cell plasma simulation parallel computing