An investigation of feedback guided dynamic scheduling of nested loops

In previous papers (J.M. Bull, 1998; J.M. Bull et al., 1996; R.W. Ford et al., 1994) feedback guided loop scheduling algorithms have been shown to be very effective for certain loop scheduling problems. In particular they perform well for problems that involve a sequential outer loop and a parallel inner loop, and timing information gathered during one execution of the parallel inner loop can be used to inform the scheduling of the subsequent execution of this loop. The authors consider the extension of these feedback guided scheduling algorithms to the more important case of nested parallel loops, again within a sequential outer loop. We describe three alternative ways of scheduling nested loops; two are based on reducing the nested loops to a single loop and applying one-dimensional techniques; the third addresses the multidimensionality of the nested loops directly.

[1]  Edith Schonberg,et al.  Factoring: a practical and robust method for scheduling parallel loops , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[2]  J. Mark Bull,et al.  Feedback Guided Dynamic Loop Scheduling: Algorithms and Experiments , 1998, Euro-Par.

[3]  Edith Schonberg,et al.  Factoring: a method for scheduling parallel loops , 1992 .

[4]  Evangelos P. Markatos,et al.  Using processor affinity in loop scheduling on shared-memory multiprocessors , 1992, Supercomputing '92.

[5]  Yong Yan,et al.  Adaptively Scheduling Parallel Loops in Distributed Shared-Memory Systems , 1997, IEEE Trans. Parallel Distributed Syst..

[6]  L.M. Ni,et al.  Trapezoid Self-Scheduling: A Practical Scheduling Scheme for Parallel Compilers , 1993, IEEE Trans. Parallel Distributed Syst..

[7]  Arthur R. Butz,et al.  Alternative Algorithm for Hilbert's Space-Filling Curve , 1971, IEEE Transactions on Computers.

[8]  N. Bull,et al.  A FEEDBACK BASED LOAD BALANCE ALGORITHM FOR PHYSICSROUTINES IN , 1996 .

[9]  D. Snelling,et al.  Controlling Load Balance, Cache Use and Vector Length in the Um , 1994 .

[10]  CONSTANTINE D. POLYCHRONOPOULOS,et al.  Guided Self-Scheduling: A Practical Scheduling Scheme for Parallel Supercomputers , 1987, IEEE Transactions on Computers.

[11]  David F. Bacon,et al.  Compiler transformations for high-performance computing , 1994, CSUR.

[12]  Derek L. Eager,et al.  Affinity scheduling of unbalanced workloads , 1994, Proceedings of Supercomputing '94.

[13]  Steven Lucco,et al.  A dynamic scheduling method for irregular parallel programs , 1992, PLDI '92.