Applications of Graph Scheduling Techniques in Parallelizing Irregular Scientific Computation

Parallelizing irregular scientific computation efficiently is a challenging open research area. In this paper we investigate the applicability of graph scheduling techniques to solving irregular problems in distributed memory machines Our approach is to express irregular computation in terms of a macro-dataflow task model and use an automatic scheduling system to map task graphs and also generate parallel code based on the scheduling result. We study the performance of run-time execution of an irregular static schedule and report our solutions with the automatic scheduling system for sparse matrix computation and hierarchical 2D N-body simulations. We also examine the run-time performance of static mapping for the adaptive n-body simulation. Our preliminary experiments in nCUBE-2 have produced promising results with regard to the practicality of automatic scheduling for irregular problems.

[1]  L. Greengard The Rapid Evaluation of Potential Fields in Particle Systems , 1988 .

[2]  A. George,et al.  Parallel Cholesky factorization on a shared-memory multiprocessor. Final report, 1 October 1986-30 September 1987 , 1986 .

[3]  Roldan Pozo Performance Modeling of Sparse Matrix Methods for Distributed Memory Architectures , 1992, CONPAR.

[4]  Tao Yang,et al.  PYRROS: static task scheduling and code generation for message passing multiprocessors , 1992 .

[5]  Vivek Sarkar,et al.  Partitioning and scheduling parallel programs for execution on multiprocessors , 1987 .

[6]  Tao Yang,et al.  A Comparison of Clustering Heuristics for Scheduling Directed Acycle Graphs on Multiprocessors , 1992, J. Parallel Distributed Comput..

[7]  Constantine D. Polychronopoulos,et al.  The structure of parafrase-2: an advanced parallelizing compiler for C and FORTRAN , 1990 .

[8]  Tao Yang,et al.  On the Granularity and Clustering of Directed Acyclic Task Graphs , 1993, IEEE Trans. Parallel Distributed Syst..

[9]  Dharma P. Agrawal,et al.  A Threshold Scheduling Strategy for Sisal on Distributed Memory Machines , 1994, J. Parallel Distributed Comput..

[10]  Frank D. Anger,et al.  Scheduling Precedence Graphs in Systems with Interprocessor Communication Times , 1989, SIAM J. Comput..

[11]  Daniel Gajski,et al.  Hypertool: A Programming Aid for Message-Passing Systems , 1990, IEEE Trans. Parallel Distributed Syst..

[12]  Harry Berryman,et al.  Run-Time Scheduling and Execution of Loops on Message Passing Machines , 1990, J. Parallel Distributed Comput..

[13]  Shahid H. Bokhari,et al.  On the Mapping Problem , 1981, IEEE Transactions on Computers.

[14]  Han Hoogeveen,et al.  Complexity of Scheduling Multiprocessor Tasks with Prespecified Processor Allocations , 1994, Discret. Appl. Math..

[15]  Narendra Karmarkar A new parallel architecture for sparse matrix computation based on finite projective geometries , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[16]  Carolyn McCreary,et al.  Automatic determination of grain size for efficient parallel processing , 1989 .

[17]  Hesham El-Rewini,et al.  Scheduling Parallel Program Tasks onto Arbitrary Target Machines , 1990, J. Parallel Distributed Comput..

[18]  Tao Yang,et al.  List Scheduling With and Without Communication Delays , 1993, Parallel Comput..

[19]  Tao Yang,et al.  DSC: Scheduling Parallel Tasks on an Unbounded Number of Processors , 1994, IEEE Trans. Parallel Distributed Syst..