Characterizing the Parallel Performance of a Large-scale, Particle-in-cell Plasma Simulation Code

The efficient implementation of particle-in-cell (PIC) plasma simulation codes on distributed memory concurrent computers is made difficult by the conflicting aims of balancing the computational load and minimizing interprocessor communication. This paper surveys previous work on PIC plasma simulation codes on advanced architecture computers, identifies the main issues in parallelizing such codes, and discusses different decomposition schemes. For MIMD concurrent computers the adaptive Eulerian (AE) decomposition scheme ls attractive because it seeks to maintain approximate load balance dynamically while avoiding excessive non-local communication. The load balance and communication characteristics of a largescale AElPIC code on the hypercube are investigated by simulating the behavior of the parallel code on a Cray-2. The results show that for the three-dimensional problems studied, in which the particle distribution is highly inhomogeneous, the communication of data between the particle and mesh decompositions dominates the communication overhead. Performing the load balancing may also make a significant contribution to the concurrent overhead if the grain size is sufficiently small. The advantages of the simulation approach in investigating the behavior of concurrent large-scale applications are discussed, together with portability and software engineering issues.

[1]  Eric J. Horowitz,et al.  QN3D: A three-dimensional quasi-neutral hybrid particle-in-cell code with applications to the tilt mode instability in field reversed configurations , 1989 .

[2]  R. Michael Hord,et al.  The Illiac IV, the first supercomputer , 1982 .

[3]  Harvey J. Wasserman,et al.  Performance comparison of the CRAY-2 and CRAY X-MP/416 supercomputers , 1988, Proceedings. SUPERCOMPUTING '88.

[4]  L. Greengard The Rapid Evaluation of Potential Fields in Particle Systems , 1988 .

[5]  Satoshi Sekiguchi,et al.  Mapping schemes of the particle-in-cell method implemented on the PAX computer , 1988, Parallel Comput..

[6]  Tsutomu Hoshino,et al.  An Invitation to the World of PAX , 1986, Computer.

[7]  G. Efstathiou,et al.  Numerical techniques for large cosmological N-body simulations , 1985 .

[8]  John M. Dawson,et al.  Plasma simulation on the UCLA CHI computer system , 1978, AFIPS National Computer Conference.

[9]  Andrew W. Appel,et al.  An Efficient Program for Many-Body Simulation , 1983 .

[10]  E. G. Zaidman Parallel computation for electronics design , 1988 .

[11]  Harold Trease,et al.  Parallel Processing a Three-Dimensional Free-Lagrange Code: a Case History , 1989, Int. J. High Perform. Comput. Appl..

[12]  Edward A. Carmona Parallelizing a large scientific code - methods, issues, and concerns , 1989, Proceedings of the 1989 ACM/IEEE Conference on Supercomputing (Supercomputing '89).

[13]  Elke A. Rundensteiner,et al.  Fast, adaptive summation of point forces in the two-dimensional Poisson equation , 1989 .

[14]  S. J. Aarseth,et al.  Dynamical Evolution of Clusters Of Galaxies, II , 1963 .

[15]  Tsutomu Hoshino,et al.  Mesh-connected parallel computer PAX for scientific applications , 1987, Parallel Comput..

[16]  Francis H. Harlow,et al.  PIC and its progeny , 1987 .

[17]  W. Daniel Hillis,et al.  The connection machine , 1985 .

[18]  Vance Faber,et al.  Modeling the performance of hypercubes: a case study using the particle-in-cell application , 1988, Parallel Comput..

[19]  Takashi Yabe,et al.  Vector calculation of particle code , 1985 .

[20]  Piet Hut,et al.  A hierarchical O(N log N) force-calculation algorithm , 1986, Nature.

[21]  G. Efstathiou,et al.  The evolution of large-scale structure in a universe dominated by cold dark matter , 1985 .

[22]  Scott B. Baden,et al.  Programming Abstractions for Run-Time Partitioning of Scientific Continuum Calculations Running on Multiprocessors , 1987, PPSC.

[23]  Viktor K. Decyk,et al.  Dynamic Load Balancing in a Concurrent Plasma PIC Code on the JPL/Caltech Mark III Hypercube , 1990, Proceedings of the Fifth Distributed Memory Computing Conference, 1990..

[24]  J. Dawson Particle simulation of plasmas , 1983 .

[25]  Viktor K. Decyk,et al.  A general concurrent algorithm for plasma particle-in-cell simulation codes , 1989 .

[26]  A. Chorin Numerical study of slightly viscous flow , 1973, Journal of Fluid Mechanics.

[27]  Eric Jack Horowitz,et al.  Vectorizing the interpolation routines of particle-in-cell codes , 1987 .

[28]  Harvey J. Wasserman,et al.  Performance comparison of the CRAY-2 and CRAY X-MP/416 supercomputers , 1988, Supercomputing '88.

[29]  C. S. Lin,et al.  A parallel particle-in-cell model for the massively parallel processor , 1988, Proceedings., 2nd Symposium on the Frontiers of Massively Parallel Computation.

[30]  C. W. Barnes,et al.  Principles and capabilities of 3-D, E-M particle simulations , 1980 .

[31]  D. W. Walker,et al.  Hierarchical Domain Decomposition With Unitary Load Balancing For Electromagnetic Particle-In-Cell Codes , 1990, Proceedings of the Fifth Distributed Memory Computing Conference, 1990..

[32]  Peter Burger,et al.  Theory of Large‐Amplitude Oscillations in the One‐Dimensional Low‐Pressure Cesium Thermionic Converter , 1965 .

[33]  A. Mondelli,et al.  Domain decomposition and particle pushing for multiprocessing computers , 1988 .

[34]  R W Hockney,et al.  Computer Simulation Using Particles , 1966 .

[35]  A. Leonard Computing Three-Dimensional Incompressible Flows with Vortex Elements , 1985 .

[36]  R. W. Hockney,et al.  COMPUTER EXPERIMENT OF ANOMALOUS DIFFUSION , 1966 .