Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques (1996)
Oct. 20, 1996 to Oct. 23, 1996
Steven Novack , University of California,Irvine
Alexandru Nicolau , University of California,Irvine
Many techniques have been proposed for exploiting instruction level parallelism, ranging from the optimal and expensive but ignoring resource constraints, to various forms of introducing resource constraints. One of the most aggressive of these techniques is Resource-Constrained Software Pipelining (RCSP) [Aiken, Nicolau, and Novack TOPADS 6(12) 1995]. RCSP works by repeatedly scheduling successive iterations of a loop in parallel until the data and resource dependence structure of the loop causes the process to converge on a repeating scheduling pattern. This repeating pattern is then used as the new loop body. In principle, this process can be made optimal with respect to full unrolling and scheduling of the loop. Of course, this is not the same as absolute optimality; however, given the NP-hard nature of the problem and the results of [Schwiegelshohn, Gasperoni, and Ebcioglu JPDC 11(2) 1991], this may be the strongest form possible for general loop pipelining. The main drawback of RCSP is that, in practice, its space/time overhead can be fairly expensive. In this paper, we present Resource-Directed Loop Pipelining (RDLP), a new approach that attempts to retain much of the advantages of RCSP while minimizing the expense. It does so by allowing the availability of target resources to in some sense guide the application of parallelism exposing and parallelizing transformations. One of the key features of RDLP is the separation of control heuristics from transformations that allows the loop pipelining to be as general as the underlying system of code motion transformations. Results are presented that show that even with very unsophisticated heuristics, RDLP achieves roughly the same performance as RCSP, while providing a 4-fold decrease in space/time cost.
A. Nicolau and S. Novack, "An Efficient Global Resource-Directed Approach to Exploiting Instruction-Level Parallelism," Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques(PACT), Boston, MA, 1996, pp. 0087.