Data dependent loop scheduling based on genetic algorithms for distributed and shared memory systems

Many approaches have been described for the parallel loop scheduling problem for shared-memory systems, but little work has been done on the data-dependent loop scheduling problem (nested loops with loop carried dependencies). In this paper, we propose a general model for the data-dependent loop scheduling problem on distributed as well as shared memory systems. In order to achieve load balancing and low runtime scheduling and communication overhead, our model is based on a loop task graph and the notion of critical path. In addition, we develop a heuristic algorithm based on our model and on genetic algorithms to test the reliability of the model. We test our approach on different scenarios and benchmarks. The results are very encouraging and suggest a future parallel compiler implementation based on our model.

[1]  Mark Moir,et al.  A simple proof technique for priority-scheduled systems , 2001, Inf. Process. Lett..

[2]  Edwin Hsing-Mean Sha,et al.  Probabilistic Loop Scheduling Considering Communication Overhead , 1998, JSSPP.

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

[4]  Edwin Hsing-Mean Sha,et al.  Probabilistic Loop Scheduling for Applications with Uncertain Execution Time , 2000, IEEE Trans. Computers.

[5]  Guy E. Blelloch,et al.  Space-efficient scheduling of nested parallelism , 1999, TOPL.

[6]  Andy Nisbet,et al.  GAPS: A Compiler Framework for Genetic Algorithm (GA) Optimised Parallelisation , 1998, HPCN Europe.

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

[8]  Keshab K. Parhi,et al.  Resource-constrained loop list scheduler for DSP algorithms , 1995, J. VLSI Signal Process..

[9]  Edwin Hsing-Mean Sha,et al.  Optimizing Overall Loop Schedules Using Prefetching and Partitioning , 2000, IEEE Trans. Parallel Distributed Syst..

[10]  Erol Gelenbe,et al.  Task Assignment and Transaction Clustering Heuristics for Distributed Systems , 1997, Inf. Sci..

[11]  Zdzislaw Szczerbinski Optimal Distribuion of Loops containing no Dependence Cycles , 1999, HPCN Europe.

[12]  Jingling Xue Communication-Minimal Tiling of Uniform Dependence Loops , 1997, J. Parallel Distributed Comput..

[13]  S. Tongsima,et al.  Communication-sensitive loop scheduling for DSP applications , 1997, IEEE Trans. Signal Process..

[14]  Edwin Hsing-Mean Sha,et al.  Achieving Full Parallelism Using Multidimensional Retiming , 1996, IEEE Trans. Parallel Distributed Syst..

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