Performance analysis of parallel programming models for compute-intensive problems in multi-core environment - Gardan, Gamil; Abdul Hamid, Nor Asilah Wati; Al-Khaffaf, Mustafa Saleh Mahdi (World Academy of Research in Science and Engineering, 2019)
Parallel programming models have become commonplace, and these models allow developers and programmers to deal with data in many ways. There are many parallel programming models available to date, however, the current study has chosen the seven most recognized parallel programming paradigms to be compared and benchmarked, namely MPI (point-to-point and collective), OpenMP, PThreads, TBB and hybrid (MPI/OpenMP and MPI/PThreads). Besides that, the benchmark used in this study is matrix multiplication, and they are evaluated based on different matrix sizes. The execution time, speedup, and efficiency of the models are used to analyse the behaviours of these models with different number of processors and matrix sizes. The results have demonstrated that, in most cases, OpenMP and MPI (Point-to-Point) are ideal for compute-intensive problems, and they both benefit from many-core architecture. In addition, the findings have also exhibited that TBB provides good performance with low programming complexity and code changes, especially with small sized computation problems.