Scheduling Precedence Constrained Task Graphs with Non-Negligible Intertask Communication onto Multiprocessors

The multiprocessor scheduling problem is the problem of scheduling the tasks of a precedence constrained task graph (representing a parallel program) onto the processors of a multiprocessor in a way that minimizes the completion time. Since this problem is known to be NP-hard in the strong sense in all but a few very restricted eases, heuristic algorithms are being developed which obtain near optimal schedules in a reasonable amount of computation time. We present an efficient heuristic algorithm for scheduling precedence constrained task graphs with nonnegligible intertask communication onto multiprocessors taking contention in the communication channels into consideration. Our algorithm for obtaining satisfactory suboptimal schedules is based on the classical list scheduling strategy. It simultaneously exploits the schedule-holes generated in the processors and in the communication channels during the scheduling process in order to produce better schedules. We demonstrate the effectiveness of our algorithm by comparing with two competing heuristic algorithms available in the literature. >

[1]  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.

[2]  Hironori Kasahara,et al.  Practical Multiprocessor Scheduling Algorithms for Efficient Parallel Processing , 1984, IEEE Transactions on Computers.

[3]  Boontee Kruatrachue,et al.  Grain size determination for parallel processing , 1988, IEEE Software.

[4]  T. C. Hu Parallel Sequencing and Assembly Line Problems , 1961 .

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

[6]  C. L. Philip Chen,et al.  Efficient scheduling algorithms for robot inverse dynamics computation on a multiprocessor system , 1988, IEEE Trans. Syst. Man Cybern..

[7]  Edward A. Lee,et al.  Scheduling to Account for Interprocessor Communication within Interconnection-Constrained Processor Networks , 1990, International Conference on Parallel Processing.

[8]  C. L. Philip Chen,et al.  Efficient mapping algorithms for scheduling robot inverse dynamics computation on a multiprocessor system , 1990, IEEE Trans. Syst. Man Cybern..

[9]  J. Y. S. LUH,et al.  Scheduling of Parallel Computation for a Computer-Controlled Mechanical Manipulator , 1982, IEEE Transactions on Systems, Man, and Cybernetics.

[10]  Camille C. Price,et al.  Scheduling of Precedence-Constrained Tasks on Multiprocessors , 1990, Comput. J..

[11]  Eduardo B. Fernández,et al.  Bounds on the Number of Processors and Time for Multiprocessor Optimal Schedules , 1973, IEEE Transactions on Computers.

[12]  Sung Jo Kim A general approach to multiprocessor scheduling , 1988 .

[13]  Shou-Hsuan Stephen Huang,et al.  A Sublinear Parallel Algorithm for Some Dynamic Programming Problems , 1992, Theor. Comput. Sci..

[14]  C. V. Ramamoorthy,et al.  Optimal Scheduling Strategies in a Multiprocessor System , 1972, IEEE Transactions on Computers.

[15]  Anoop Gupta Parallelism in production systems , 1987 .

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

[17]  Vivek Sarkar,et al.  Partitioning and Scheduling Parallel Programs for Multiprocessing , 1989 .

[18]  Behrooz Shirazi,et al.  Analysis and Evaluation of Heuristic Methods for Static Task Scheduling , 1990, J. Parallel Distributed Comput..

[19]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[20]  Wojciech Rytter On Efficient Parallel Computations for some Dynamic Programming Problems , 1988, Theor. Comput. Sci..

[21]  C. Siva Ram Murthy,et al.  Task assignment in a multiprocessor system , 1989 .

[22]  Walter H. Kohler,et al.  A Preliminary Evaluation of the Critical Path Method for Scheduling Tasks on Multiprocessor Systems , 1975, IEEE Transactions on Computers.

[23]  K. Mani Chandy,et al.  A comparison of list schedules for parallel processing systems , 1974, Commun. ACM.

[24]  Jeffrey D. Smith,et al.  Design and Analysis of Algorithms , 2009, Lecture Notes in Computer Science.