Dynamic alignment and distribution of irregularly coupled data arrays for scalable parallelization of particle-in-cell problems

Particle-in-cell (PIC) plasma simulation codes require two data arrays-particle array and field array-for storing the lists of particles and electromagnetic fields, respectively. In every iteration the two are updated based on the valves of each other. The interaction between these two arrays is dynamic due to the movement of particles. Efficient parallelization of PIC requires the two data arrays to be load balanced and the amount of communication generated due to the interaction between them to be minimized. This requires dynamic distribution and alignment of the two arrays. In this paper we present fast and efficient methods for achieving this task at run-time. The implementation and performance of a relativistic electromagnetic PIC plasma simulation code on the CM-5 are described.