Clustering and intra-processor scheduling for explicitly-parallel programs on distributed-memory systems

When mapping a parallel program onto a parallel architecture, the number of available processors is usually less than the number of tasks in the program. This gives rise to clustering and intra-processor scheduling problems. We address these two problems for distributed-memory systems where programs are explicitly-parallel in nature. We show that existing models of program representation are insufficient to capture temporal behavior of such programs. We use a new temporal communication graph model that allows identification of overlap of communication with computation and inter-task parallelism. Clustering and intra-processor scheduling heuristics, attempting to minimize program completion time, are proposed using this model. Simulation results on random task graphs show 10-25% improvement in completion time over existing heuristics.<<ETX>>

[1]  Donald E. Knuth,et al.  fundamental algorithms , 1969 .

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

[3]  Chien-Chung Shen,et al.  A Graph Matching Approach to Optimal Task Assignment in Distributed Computing Systems Using a Minimax Criterion , 1985, IEEE Trans. Computers.

[4]  Jake K. Aggarwal,et al.  A Mapping Strategy for Parallel Processing , 1987, IEEE Transactions on Computers.

[5]  Heinz Mühlenbein,et al.  Mapping Strategies in Message Based Multiprocessor Systems , 1987, PARLE.

[6]  P. Sadayappan,et al.  Task allocation onto a hypercube by recursive mincut bipartitioning , 1988, C3P.

[7]  J. Ortega Introduction to Parallel and Vector Solution of Linear Systems , 1988, Frontiers of Computer Science.

[8]  J. Browne,et al.  General approach to mapping of parallel computations upon multiprocessor architectures , 1988 .

[9]  The LAST Algorithm: A Heuristic-Based Static Task Allocation Algorithm , 1989, ICPP.

[10]  Heinz Mühlenbein,et al.  Mapping strategies in message-based multiprocessor systems , 1989, Parallel Comput..

[11]  Izidor Gertner,et al.  On the Complexity of Scheduling Problems for Parallel/Pipelined Machines , 1989, IEEE Trans. Computers.

[12]  Tao Yang,et al.  Clustering task graphs for message passing architectures , 1990, ICS '90.

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

[14]  On the Synthesis of Programs for Various Parallel Architectures , 1991, ICPP.

[15]  Scott F. Midkiff,et al.  Heuristic Technique for Processor and Link Assignment in Multicomputers , 1991, IEEE Trans. Computers.

[16]  Alexandru Nicolau,et al.  A Mapping Strategy for MIMD Computers , 1991, Int. J. High Speed Comput..

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

[18]  Jake K. Aggarwal,et al.  A Generalized Scheme for Mapping Parallel Algorithms , 1993, IEEE Trans. Parallel Distributed Syst..

[19]  Dhabaleswar K. Panda,et al.  Task assignment on distributed-memory systems with adaptive wormhole routing , 1993, Proceedings of 1993 5th IEEE Symposium on Parallel and Distributed Processing.

[20]  Edward A. Lee,et al.  A Compile-Time Scheduling Heuristic for Interconnection-Constrained Heterogeneous Processor Architectures , 1993, IEEE Trans. Parallel Distributed Syst..

[21]  Michael G. Norman,et al.  Models of machines and computation for mapping in multicomputers , 1993, CSUR.