On Optimal Loop Unrolling in Two-processor Scheduling

In this paper, we study the problem of scheduling loop task graphs onto two processor systems to minimize the execution lime. We use the idea of loop unrolling to uncover dependence among different loop iterations in loop task graphs. The scheduling is divided into two stages: determining an optimal unrolling factor, and constructing an optimal schedule for this unrolling factor. We propose a criterion for optimal loop unrolling for unit-delay task graphs, where the tasks are enclosed in a single loop. Our main theorem presents a useful test for detecting optimal unrolling factors. A scheduling algorithm that employs the concept of optimal loop unrolling is introduced. We also present serial and parallel algorithms lo find the best unrolling factor.

[1]  D. Helmbold,et al.  Two Processor Scheduling is in NC , 1987, SIAM J. Comput..

[2]  Jeffrey D. Ullman,et al.  NP-Complete Scheduling Problems , 1975, J. Comput. Syst. Sci..

[3]  Jih-Kwon Peir,et al.  Minimum Distance: A Method for Partitioning Recurrences for Multiprocessors , 1989, IEEE Trans. Computers.

[4]  Alexander Aiken,et al.  Optimal loop parallelization , 1988, PLDI '88.

[5]  M. Fujii,et al.  Optimal Sequencing of Two Equivalent Processors , 1969 .

[6]  Walid Abu-Sufah,et al.  Improving the performance of virtual memory computers. , 1979 .

[7]  J. A. Bondy,et al.  Graph Theory with Applications , 1978 .

[8]  Harold N. Gabow,et al.  An Almost-Linear Algorithm for Two-Processor Scheduling , 1982, JACM.

[9]  Hesham H. Ali,et al.  Task scheduling in parallel and distributed systems , 1994, Prentice Hall series in innovative technology.

[10]  Ravi Sethi,et al.  Scheduling Graphs on Two Processors , 1976, SIAM J. Comput..

[11]  Edwin H.-M. Sha,et al.  Unfolding and retiming data-flow DSP programs for RISC multiprocessor scheduling , 1992, [Proceedings] ICASSP-92: 1992 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[12]  Hesham El-Rewini,et al.  Introduction to Parallel Computing , 1992 .

[13]  Keshab K. Parhi,et al.  Static Rate-Optimal Scheduling of Iterative Data-Flow Programs via Optimum Unfolding , 1991, IEEE Trans. Computers.

[14]  T. Lewis,et al.  Schedule-driven loop unrolling for parallel processors , 1991, Proceedings of the Twenty-Fourth Annual Hawaii International Conference on System Sciences.

[15]  Utpal Banerjee,et al.  Loop Transformations for Restructuring Compilers: The Foundations , 1993, Springer US.

[16]  Edward G. Coffman,et al.  Computer and job-shop scheduling theory , 1976 .