An efficient algorithm for the run-time parallelization of DOACROSS loops

Ding Kai Chen, Josep Torrellas, Pen Chung Yew
1994 Supercomputing, Proceedings  
Pen-Chung Yew While loop parallelization usually relies on compile-time analysis of data dependences, for some loops the data dependences cannot be detennined at compile time. An example is loops referencing arrays with subscripted subscripts. To parallelize these loops, it is necessary to use run-time analysis. In this paper, we present a new run-time algorithm to parallelize these loops. Our scheme handles any type of data dependence in the loop without requiring any special architectural
more » ... ort in the multiprocessor. Furthermore, compared to an older scheme with the same generality, our scheme significantly reduces the amount of processor communication required and increases the overlap among dependent iterations. We evaluate our algorithm with an extensive set of loops running on the 32-processor Cedar shared-memory multiprocessor. The execution times show speedups over the serial case that reach up to 13 with the full overhead of run-time analysis and up to 26 if part of the work is reused across loop invocations. Moreover, our algorithm outperforms the older scheme with the same generality in nearly all cases, reaching a 37-fold speedup over the older scheme when the loop has many dependences.
doi:10.1145/602855.602857 fatcat:xm6s3sysdraipe72uzykpquyqe