Analysis of factors affecting execution performance of openMP programs

OpenMP is able to develop multithreaded programs with lower cost as a promising way to quickly parallelize a great number of serial programs. However, there are many difficulties when developing OpenMP multithreaded programs. Most importantly, the performance of OpenMP programs cannot be guaranteed, which has greatly affected the application of OpenMP. This paper examines several factors that affect the execution performance of OpenMP programs, including loop transformation, scheduling strategy, the number of threads, and nested parallelism. The results show that one of the key reasons for performance degradation is load imbalance, which can be corrected by reasonable use of these key factors to improve the execution performance of OpenMP programs.

[1]  Eduard Ayguadé,et al.  Applying interposition techniques for performance analysis of OPENMP parallel applications , 2000, Proceedings 14th International Parallel and Distributed Processing Symposium. IPDPS 2000.

[2]  Timothy G. Mattson Introduction to OpenMP , 2006, SC.

[3]  Tor Sørevik,et al.  Nested parallelism: Allocation of threads to tasks and OpenMP implementation , 2001, Sci. Program..

[4]  Bernd Mohr,et al.  Automatic performance analysis of hybrid MPI/OpenMP applications , 2003, Eleventh Euromicro Conference on Parallel, Distributed and Network-Based Processing, 2003. Proceedings..

[5]  L. Dagum,et al.  OpenMP: an industry standard API for shared-memory programming , 1998 .

[6]  Mitsuhisa Sato,et al.  Performance Evaluation of OpenMP Applications with Nested Parallelism , 2000, LCR.

[7]  Michael Wolfe,et al.  High performance compilers for parallel computing , 1995 .