OpenMP versus MPI for PDE solvers based on regular sparse numerical operators

Two parallel programming models represented by OpenMP and MPI are compared for PDE solvers based on regular sparse numerical operators. As a typical representative of such an operator, a finite difference approximation of the Euler equations for fluid flow is considered. The comparison of programming models is made with regard to uniform memory access (UMA), non-uniform memory access (NUMA), and self-optimizing NUMA (NUMA-opt) computer architectures. By NUMA-opt, we mean NUMA systems extended with self-optimization algorithms, in order to reduce the non-uniformity of the memory access time. The main conclusions of the study are: (1) that OpenMP is a viable alternative to MPI on UMA and NUMA-opt architectures; (2) that OpenMP is not competitive on NUMA platforms, unless special care is taken to get an initial data placement that matches the algorithm; (3) that for OpenMP to be competitive in the NUMA-opt case, it is not necessary to extend the OpenMP model with additional data distribution directives, nor to include user-level access to the page migration library.

[1]  Ruud van der Pas,et al.  Performance Experiences on Sun's WildFire Prototype , 1999, SC.

[2]  Sverker Holmgren,et al.  Performance of High-Accuracy PDE Solvers on a Self-Optimizing NUMA Architecture , 2001, Euro-Par.

[3]  Lisa Noordergraaf,et al.  Performance experiences on Sun's Wildfire prototype , 1999, SC '99.

[4]  Erik Hagersten,et al.  Simple COMA node implementations , 1994, 1994 Proceedings of the Twenty-Seventh Hawaii International Conference on System Sciences.

[5]  Andrew B. Whinston,et al.  Proceedings of the Hawaii International Conference on System Science , 1990 .

[6]  E. Ayguade,et al.  Scaling Irregular Parallel Codes with Minimal Programming Effort , 2001, ACM/IEEE SC 2001 Conference (SC'01).

[7]  William Gropp,et al.  High-performance parallel implicit CFD , 2001, Parallel Comput..

[8]  Eduard Ayguadé,et al.  Is Data Distribution Necessary in OpenMP? , 2000, ACM/IEEE SC 2000 Conference (SC'00).

[9]  Erik Hagersten,et al.  WildFire: a scalable path for SMPs , 1999, Proceedings Fifth International Symposium on High-Performance Computer Architecture.

[10]  Jonathan Harris,et al.  Extending OpenMP For NUMA Machines , 2000 .

[11]  Sverker Holmgren,et al.  OpenMP versus MPI for PDE Solvers Based on Regular Sparse Numerical Operators , 2002, International Conference on Computational Science.