Workload decomposition strategies for shared memory parallel systems with OpenMP

A crucial issue in parallel programming (both for distributed and shared memory architectures) is work decomposition. Work decomposition task can be accomplished without large programming effort with use of high-level parallel programming languages, such as OpenMP. Anyway particular care must still be payed on achieving performance goals. In this paper we introduce and compare two decomposition strategies, in the framework of shared memory systems, as applied to a case study particle in cell application. A number of different implementations of them, based on the OpenMP language, are discussed with regard to time efficiency, memory occupancy, and program restructuring effort.

[1]  Geoffrey Fox,et al.  Particle-in-Cell Simulation Codes in High Performance Fortran , 1996, Proceedings of the 1996 ACM/IEEE Conference on Supercomputing.

[2]  Boleslaw K. Szymanski,et al.  Object-oriented parallel computation for plasma simulation , 1995, CACM.

[3]  Eduard Ayguadé,et al.  New OpenMP directives for irregular data access loops , 2001, Sci. Program..

[4]  G. C. Fox,et al.  Solving Problems on Concurrent Processors , 1988 .

[5]  Sanjay Ranka,et al.  Dynamic alignment and distribution of irregularly coupled data arrays for scalable parallelization of particle-in-cell problems , 1996, Proceedings of International Conference on Parallel Processing.

[6]  C. Birdsall,et al.  Plasma Physics via Computer Simulation , 2018 .

[7]  Joel H. Saltz,et al.  A manual for the CHAOS runtime library , 1995 .

[8]  L. Chent Theory of magnetohydrodynamic instabilities excited by energetic particles in tokamaks * , 1999 .

[9]  Viktor K. Decyk,et al.  Skeleton PIC Codes for Parallel Computers , 1995 .

[10]  Viktor K. Decyk,et al.  Dynamic load balancing for a 2D concurrent plasma PIC code , 1993 .

[11]  Viera Sipková,et al.  Parallelizing Irregular Applications with the Vienna HPF+ Compiler VFC , 1998, HPCN Europe.

[12]  J. Crawford,et al.  Preliminary insights on shared memory PIC code performance on the Convex Exemplar SPP1000 , 1996, Proceedings of 6th Symposium on the Frontiers of Massively Parallel Computation (Frontiers '96).

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

[14]  Beniamino Di Martino,et al.  Workload decomposition for particle simulation applications on hierarchical distributed-shared memory parallel systems with integration of HPF and OpenMP , 2001, ICS '01.

[15]  DongSheng Cai,et al.  Parallel PIC code using Java on PC cluster , 2000, Proceedings Fourth International Conference/Exhibition on High Performance Computing in the Asia-Pacific Region.

[16]  G. Vlad,et al.  Hybrid magnetohydrodynamic‐gyrokinetic simulation of toroidal Alfvén modes , 1995 .

[17]  Beniamino Di Martino,et al.  Parallel PIC plasma simulation through particle decomposition techniques , 2001, Parallel Comput..

[18]  Soo-Young Lee,et al.  Hybrid partitioning for particle-in-cell simulation on shared memory systems , 1991, [1991] Proceedings. 11th International Conference on Distributed Computing Systems.

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