Task Allocation on a Network of Processors

This paper studies the scheduling of tasks on a pool of identical workstations in a network where message passing is used for data transfer and communication between processors and where the precedence relations among tasks form a send-receive graph. Bur parallel computation model differs from previous models by including all of the following practical considerations: 1) the sending and receiving of multiple messages from one processor to another is performed sequentially, 2) communication overhead is proportional to the message size, and 3) the starting and ending task must be performed on the same machine. These factors are crucial when performing parallel task execution using a pool of workstations whose communication primitives are provided by off-the-shelf packages, such as PVM, and whose message sizes are nontrivial. Although our model is new, using reduction from other well-known scheduling results shows that finding a scheduling with the optimal makespan is NP-hard. Our focus, therefore, is on developing and analyzing approximation algorithms for this problem. When the number of workstations in the network is abundant, a linear approximation algorithm is given with a proven performance bound of two times the optimal. When the number of available workstations is a fixed constant k that is greater than 2, we show an O(nlogn)-time approximation algorithm which always performs better than (3+k-2/k) times the optimal. Simulation results show that, on the average, both of our approximation algorithms perform much better than the worst case analysis and both generate schedulings whose makespans are very close to optimal.

[1]  Virginia Mary Lo,et al.  Heuristic Algorithms for Task Assignment in Distributed Systems , 1988, IEEE Trans. Computers.

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

[3]  Michael S. Landy,et al.  Hierarchical Coding of Binary Images , 1985, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[4]  Dian Rae Lopez Models and algorithms for task allocation in a parallel environment , 1992 .

[5]  Harold S. Stone,et al.  Multiprocessor Scheduling with the Aid of Network Flow Algorithms , 1977, IEEE Transactions on Software Engineering.

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

[7]  David S. Johnson,et al.  Computers and Inrracrobiliry: A Guide ro the Theory of NP-Completeness , 1979 .

[8]  Dietmar Saupe,et al.  Evolutionary fractal image compression , 1996, Proceedings of 3rd IEEE International Conference on Image Processing.

[9]  Frank D. Anger,et al.  Scheduling with Sufficient Loosely Coupled Processors , 1990, J. Parallel Distributed Comput..

[10]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[11]  Mihalis Yannakakis,et al.  Towards an Architecture-Independent Analysis of Parallel Algorithms , 1990, SIAM J. Comput..

[12]  Ishfaq Ahmad,et al.  On Parallelizing the Multiprocessor Scheduling Problem , 1999, IEEE Trans. Parallel Distributed Syst..

[13]  Leslie G. Valiant,et al.  General Purpose Parallel Architectures , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[14]  Yossi Matias,et al.  The Queue-Read Queue-Write PRAM Model: Accounting for Contention in Parallel Algorithms , 1999, SIAM J. Comput..

[15]  Peter Strobach Tree-structured scene adaptive coder , 1990, IEEE Trans. Commun..

[16]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[17]  Masahiro Tsuchiya,et al.  A Task Allocation Model for Distributed Computing Systems , 1982, IEEE Transactions on Computers.

[18]  James P. Black,et al.  An experimental investigation of distributed matrix multiplication techniques , 1991, Softw. Pract. Exp..

[19]  Jack Dongarra,et al.  Pvm 3 user's guide and reference manual , 1993 .

[20]  Virginia Mary Lo Task assignment in distributed systems , 1983 .

[21]  T.C.E. Cheng,et al.  A state-of-the-art review of parallel-machine scheduling research , 1990 .

[22]  Ramesh Subramonian,et al.  LogP: a practical model of parallel computation , 1996, CACM.

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

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

[25]  P. Chrétienne A polynomial algorithm to optimally schedule tasks on a virtual distributed system under tree-like precedence constraints , 1989 .

[26]  Z Liu,et al.  Scheduling Theory and its Applications , 1997 .

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

[28]  R. Stephenson A and V , 1962, The British journal of ophthalmology.

[29]  Henrique S. Malvar Lapped transforms for efficient transform/subband coding , 1990, IEEE Trans. Acoust. Speech Signal Process..

[30]  Yossi Matias,et al.  The QRQW PRAM: accounting for contention in parallel algorithms , 1994, SODA '94.

[31]  Philippe Chrétienne,et al.  C.P.M. Scheduling with Small Communication Delays and Task Duplication , 1991, Oper. Res..

[32]  Philippe Chrétienne Task scheduling with interprocessor communication delays , 1992 .

[33]  Tsan-sheng Hsu,et al.  Scheduling Problems in a Practical Allocation Model , 1997, J. Comb. Optim..

[34]  Wing H. Huen,et al.  Distributed Enumeration on Between Computers , 1980, IEEE Transactions on Computers.

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

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