Eliminating barrier synchronizations in OpenMP programs for PC clusters
Naoki Yonezawa, Koichi Wada · 2005
Barrier synchronizations are often used in shared memory program to force events to occur in correct order. However, this causes performance overhead especially on virtually shared memory realized on distributed memory environment. 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. A preliminary evaluation has been done using an LU program. As a result, by applying the proposed technique, we achieved 19.65% speedup with 8 processors.