Statement Re-ordering for DOACROSS Loops

In this paper, we propose a new statement reordering algorithm for DOACROSS loops that overcomes some of the problems in the previous schemes. The new algorithm uses a hierarchical approach to locate strongly dependent statement groups and to order these groups considering critical dependences. A new optimization problem, dependence covering maximization, which was not discussed before is also introduced. It is shown that this optimization problem is NP-complete, and a heuristic algorithm is incorporated in our algorithm. This new statement re-ordering scheme, combined with the dependence covering maximization, can be an important compiler optimization to parallelize loop structures for large scale coarse and fine grain parallelism.

[1]  E. Reingold,et al.  Combinatorial Algorithms: Theory and Practice , 1977 .

[2]  B. S. Garbow,et al.  Matrix Eigensystem Routines — EISPACK Guide , 1974, Lecture Notes in Computer Science.

[3]  David A. Padua,et al.  A Comparison of Four Synchronization Optimization Techniques , 1991, ICPP.

[4]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[5]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[6]  David A. Padua,et al.  High-Speed Multiprocessors and Compilation Techniques , 1980, IEEE Transactions on Computers.

[7]  D. K. Poulsen,et al.  Execution-driven tools for parallel simulation of parallel architectures and applications , 1993, Supercomputing '93.

[8]  David L. Kuck,et al.  The Structure of Computers and Computations , 1978 .

[9]  Richard J. Anderson,et al.  A Scheduling Problem Arising From Loop Parallelization on MIMD Machines , 1988, AWOC.

[10]  David A. Padua,et al.  Advanced compiler optimizations for supercomputers , 1986, CACM.

[11]  Zhiyuan Li,et al.  On Reducing Data Synchronization in Multiprocessed Loops , 1987, IEEE Transactions on Computers.

[12]  Ding-Kai Chen Ding-Kai Chen,et al.  Statement Re-ordering for DOACROSS Loops , 1994, 1994 Internatonal Conference on Parallel Processing Vol. 2.

[13]  Ding-Kai Chen,et al.  MaxPar: An execution driven simulator for studying parallel systems , 1989 .

[14]  Ron Cytron,et al.  Doacross: Beyond Vectorization for Multiprocessors , 1986, ICPP.

[15]  Ken Kennedy,et al.  Conversion of control dependence to data dependence , 1983, POPL '83.

[16]  Ronald Gary Cytron Compile-time scheduling and optimization for asynchronous machines (multiprocessor, compiler, parallel processing) , 1984 .

[17]  David Alejandro Padua Haiek Multiprocessors: discussion of some theoretical and practical problems , 1980 .

[18]  Ding-kai Chen Pen-chung Yew An Empirical Study on DOACROSS Loops , 1991 .

[19]  P. Sadayappan,et al.  Removal of Redundant Dependences in DOACROSS Loops with Constant Dependences , 1991, IEEE Trans. Parallel Distributed Syst..