Development of a hybrid parallel algorithm (MPI + OpenMP) for solving the Poisson equation
DOI:
https://doi.org/10.26577/JMMCS-2018-3-523Keywords:
high-performance computing, hybrid technologies, parallel computing, MPI, OpenMPAbstract
This article presents the development of a hybrid parallel algorithm for solving the Dirichlet problem for the two-dimensional Poisson equation. MPI and OpenMP were chosen as the technology for parallelization. For the numerical sequential solution of the Poisson equation, an explicit “cross” scheme was used (the Jacobi iterative method). A parallel algorithm was implemented by the method of decomposition of regions, namely, one-dimensional decomposition. In the article in the form of tables and graphs shows the acceleration and efficiency of parallel algorithms using MPI and OpenMP technologies separately and were compared with the acceleration and efficiency of the MPI + OpenMP hybrid algorithm. Also, the choice of the hybrid program architecture is justified and the distribution of data between processes is explained. The results show the effectiveness of using a hybrid algorithm for solving such problems and show the acceleration of time by 1.5-2 times. The presented algorithm was tested on a cluster of the computing center of the Novosibirsk State University for a different number of points in the computational domain (from 64x64 to 1024x1024). The results of the presented work can be applied to the simulation of problems of hydrodynamics, ecology, aerodynamics, the spread of chemical reagents, the propagation of heat and other physical processes.
References
[2] Martin J., Chorley W., David W. "Performance analysis of a hybrid mpi/openmp application on multi-core clusters."Journal of Computational Science, no. 1 (2010):168–174. doi.org/10.1016/j.jocs.2010.05.001.
[3] Adhianto L., Chapman B. "Performance modeling of communication and computation in hybrid mpi and openmp applications"(12th International Conference on, 2006).
[4] Jin H., Jespersen D., Mehrotra P. "High performance computing using MPI and OpenMP on multicore parallel systems."Parallel computing, no. 37 (2011): 562-575. doi.org/10.1016/j.parco.2011.02.002.
[5] Makris I. "Mixed Mode Programming on Clustered SMP systems"(The University of Edinburgh, 2005).
[6] Rane A., Stanzione D. "Experiences in tuning performance of hybrid MPI/OpenMP applications on quad-core systems."Proceedings 10th LCI International Conference on High-Performance Clustered Computing, (2009).
[7] Rabenseifner R., Hager G., Jost G. "Hybrid MPI/OpenMP parallel programming on clusters of multi-core SMP
nodes"(proc. 17 Euromicro Internat. Conf. on Parallel, Distributed and Network-based Processing, Weimar (2009): 427–436).
[8] Rabenseifner R., Wellein G. "Communication and Optimization Aspects of Parallel Programming Models on Hybrid Architectures."International Journal of High Performance Computing Applications 17 (2003): 49–62.
[9] Kryukov A.P., Stepanova M.M. Effektivnyi zapusk gibridnykh parallel’nykh zadach [Effective launch of hybrid parallel tasks]. Vestnik YuUrGU, no. 3 (2013): 32-48.
[10] Chan M.K., Yang L. "Comparative analysis of openmp and mpi on multi-core architecture."Proceedings of the 44th Annual Simulation Symposium, 11 (2011).
[11] Mitin I., Kalinkin A., Laevsky Y. "A parallel iterative solver for positive-definite systems with hybrid MPI-OpenMP parallelization for multi-core clusters."Journal of Computer Science, no. 3 (2012): 463–468. doi.org/10.1016/j.jocs.2012.08.010.
[12] Diaz J., Munoz-Caro C., Nino A. "A survey of parallel programming models and tools in the multi and many-core era."Parallel and Distributed Systems, IEEE Transactions on, 23(8):1369–1386, 2012.
[13] Drosinos N., Koziris N. "Performance comparison of pure mpi vs hybrid mpi-openmp parallelization models on smp clusters."Proceedings of the 18th International, 15 (2004).
[14] Chow E., Hysom D. "Assessing performance of hybrid mpi/openmp programs on smp clusters"(2001).
[15] Hager G., Jost G., Rabenseifner R. "Communication characteristics and hybrid mpi/openmp parallel programming on clusters of multi-core smp nodes."Proceedings of Cray User Group Conference, (2009).
[16] Cappello F., Etiemble D. "Mpi versus mpi+openmp on the ibm sp for the nas benchmarks."(In Supercomputing, ACM/IEEE 2000 Conference, 2000).
[17] Smith L., Bull M. "Development of mixed mode mpi / openmp applications."Scientific Programming, 9 (2001): 83–98.
[18] Ryndin E. A. Metody resheniya zadach matematicheskoi fiziki [Methods for solving problems of mathematical physics]. Taganrog: Izd-vo TRTU, 2003.
[19] Antonov A. S. Parallel’noe programmirovanie s ispol’zovaniem tekhnologii OpenMP [Parallel programming using OpenMP technology]. Moscow : Izd-vo MGU, 2009.
[20] Akhmed-Zaki D.Zh., Borisenko M.B. Razrabotka vysokoproizvoditel’nykh prilozhenii s ispol’zovaniem gibridnykh tekhnologii parallel’nykh vychislenii [Developing high-performance applications using hybrid parallel computing technologies]. Almaty: NII Institut KazNU (2013): 7.