Redundant synchronization elimination for DOACROSS loops

Ding-Kai Chen, Pen-Chung Yew
1999 IEEE Transactions on Parallel and Distributed Systems  
Synchronizations are necessary when there are dependences between concurrent processes. However, many synchronizations are redundant because the composite effect of the other synchronizations may have already covered them. In this paper, we investigate the problem of redundant synchronization elimination in DOACROSS loops and present an efficient algorithm that identifies redundant synchronizations in multiply-nested DOACROSS loops with multiple statements and control branches. Nonuniformity in
more » ... redundancy at the boundaries of the loop iteration space, which is caused primarily by the backward dependence directions in some inner loops, is also addressed. The necessary and sufficient condition under which the synchronization is uniformly redundant in a multiply-nested loop is also described. These results allow a compiler to generate efficient data synchronization instructions for DOACROSS loops.
doi:10.1109/71.770138 fatcat:jhq4dkdhobd2ho7dlyrohhleqe