Title :
Compile time barrier synchronization minimization
Author :
O´Boyle, M. ; Stöhr, Elena
Author_Institution :
Div. of Informatics, Edinburgh Univ., UK
fDate :
6/1/2002 12:00:00 AM
Abstract :
This paper presents a new compiler approach to minimizing the number of barriers executed in parallelized programs. A simple procedure is developed to reduce the complexity of barrier placement by eliminating certain data dependences, without affecting optimality. An algorithm is presented which, provably, places the minimal number of barriers in perfect loop nests and in certain imperfect loop nest structures. This scheme is generalized to accept entire, well-structured control-flow programs containing arbitrary nesting of IF constructs, loops, and subroutines. It has been implemented in a prototype parallelizing compiler and applied to several well-known benchmarks where it has been shown to place significantly fewer synchronization points than existing techniques. Experiments indicate that on average the number of barriers executed is reduced by 70 percent and there is a three fold improvement in execution time when evaluated on a 32-processor SGI Origin 2000
Keywords :
minimisation; multiprocessing systems; optimising compilers; parallel programming; parallelising compilers; program control structures; synchronisation; IF constructs; SGI Origin 2000; barrier placement; benchmarks; compile time barrier synchronization minimization; compiler optimization; complexity; control-flow programs; data dependences; execution time; experiments; graph algorithms; multiprocessing system; parallelized programs; parallelizing compiler; perfect loop nests; program loops; subroutines; Algorithms; Costs; Message passing; Minimization methods; Parallel machines; Program processors; Programming profession; Prototypes; Scalability; Sun;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
DOI :
10.1109/TPDS.2002.1011394