Barrier Elimination Based on Access Dependency Analysis for OpenMP

In this paper, we propose a new compiler technique for eliminating barrier synchronizations. In our approach, the compiler collects access information about array accesses and analyzes data dependency. If there was no dependency, barrier synchronizations can be eliminated. Additionally, even if the dependency was detected, there are cases when the barrier synchronization can be replaced with send-receive pairs of communications. For evaluation, we executed two application programs: Jacobi Method and Gaussian Elimination, on a PC cluster with barrier elimination applied. For comparison, we also executed the programs before elimination of barrier synchronizations. With barrier elimination, 1) the execution time is always reduced, and 2) as the number of processors increases, the reduction ratio of the execution time also increases. For 16 processors, we obtained 19.00% and 50.36% of the reduction ratio for Jacobi Method and Gaussian Elimination respectively.

[1]  Rainer Hoch,et al.  From paper to office document standard representation , 1992, Computer.

[2]  Rudolf Eigenmann,et al.  Supporting Realistic OpenMP Applications on a Commodity Cluster of Workstations , 2003, WOMPAT.

[3]  Ken Kennedy,et al.  An Implementation of Interprocedural Bounded Regular Section Analysis , 1991, IEEE Trans. Parallel Distributed Syst..

[4]  Chau-Wen Tseng,et al.  Compiler optimizations for eliminating barrier synchronization , 1995, PPOPP '95.

[5]  Koichi Wada,et al.  Quaver: OpenMP Compiler for Clusters based on Array Section Descriptor , 2005, Parallel and Distributed Computing and Networks.

[6]  Alan L. Cox,et al.  An integrated compile-time/run-time software distributed shared memory system , 1996, ASPLOS VII.

[7]  David A. Padua,et al.  Is OpenMP for grids ? , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[8]  Anoop Gupta,et al.  The Stanford Dash multiprocessor , 1992, Computer.

[9]  Rudolf Eigenmann,et al.  Optimizing OpenMP Programs on Software Distributed Shared Memory Systems , 2004, International Journal of Parallel Programming.

[10]  R. Govindarajan,et al.  CAS-DSM: A Compiler Assisted Software Distributed Shared Memory , 2004, International Journal of Parallel Programming.

[11]  Barbara M. Chapman,et al.  Efficient Translation of OpenMP to Distributed Memory , 2004, International Conference on Computational Science.