This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Parallelizing Iterative Loops with Conditional Branching
February 1995 (vol. 6 no. 2)
pp. 185-189

Abstract—This paper considers automatic restructuring of loops with conditional branching for parallel processing, especially a class of loops termed “conditional cyclic loops.” A conditional cyclic loop possesses a dependence cycle caused by conditional branching across loop iterations, which makes it difficult to parallelize. In general, parallel execution of a conditional cyclic loop provides little benefit due to the need of solving a full-order nonlinear Boolean recurrence relation. However, the Boolean recurrence in practice is often of simpler forms. With the simpler forms, the number of possible predicate values of conditional branching is reduced drastically compared to a general conditional cyclic loop. These simple forms of conditional cyclic loops found in practice can be parallelized for $O(p/\log p)$ speedup with $p$ processors.

Index Terms—Automatic program restructuring, conditional cyclic loop, data dependence, linear mixed recurrence loop, parallel algorithm, postfix-IF loop.

[1] U. Banerjee and D. Gajski,“Fast evaluation of loops with IF statement,”IEEE Trans. Comput., vol. C-33, pp. 1030–1033, 1984.
[2] S.C. Chen, D. Kuck, and A.H. Sameh, "Practical Parallel Band Triangular System Solvers," ACM Trans. Mathematics Software, vol. 4, pp. 270-277, Sept. 1978.
[3] D. J. Kuck, A. Sameh, R. Cytron, A. Veidenbaum, C. Polychronopoulos, G. Lee, T. McDaniel, B. Leasure, C. Beckman, J. Davies, and C. P. Kruskal,“The effects of program restructuring, algorithm change, and architecture choice on program performance,”inProc. 1984 Int. Conf. Parallel Processing, Aug. 1984, pp. 129–138.
[4] D. Kuck, The Structure of Computers and Computations, vol. 1. New York: John Wiley and Sons, 1978.
[5] R. H. Kuhn,“Optimization and interconnection complexity for: Parallel processors, single-stage networks, and decision trees,”Ph.D. dissertation, Dep. Comput. Sci., Univ. Illinois, Urbana-Champaign, 1980.
[6] R.E. Ladner and M.J. Fischer, "Parallel Prefix Computation," J. ACM, vol. 27, no. 4, pp. 831-838, Oct. 1980.
[7] G. Lee, C. Kruskal, and D. J. Kuck,“An empirical study of automatic restructuring of nonnumerical programs for parallel processors,”IEEE Trans. Comput., vol. C-34, pp. 927–933, 1985.
[8] I. Munro and M. Patterson,“Optimal algorithms for parallel polynomial evaluation,”J. Comput. Syst. Sci., vol. 7, 1973.
[9] A. Sameh and R. Brent,“Solving triangular systems on a parallel computer,”SIAM J. Numerical Anal., vol. 14, no. 6, pp. 1101–1113, Dec. 1977.
[10] R. A. Towle,“Control and data dependence for program transformations,”Ph.D. dissertation, Dep. Comput. Sci., Univ. Illinois, Urbana-Champaign, 1976.
[11] M. Wolfe,“Optimizing Supercompilers for Supercomputers,”Ph.D. dissertation, Dep. Comput. Sci., Univ. Illinois at Urbana-Champaign, 1982.

Citation:
Gyungho Lee, "Parallelizing Iterative Loops with Conditional Branching," IEEE Transactions on Parallel and Distributed Systems, vol. 6, no. 2, pp. 185-189, Feb. 1995, doi:10.1109/71.342131
Usage of this product signifies your acceptance of the Terms of Use.