Subscribe

Issue No.12 - December (2000 vol.49)

pp: 1339-1353

DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/12.895858

ABSTRACT

<p><b>Abstract</b>—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. Our 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 <tmath>$k$</tmath> that is greater than <tmath>$2$</tmath>, we show an <tmath>$O(n log n){\hbox{-}}{\rm time}$</tmath> approximation algorithm which always performs better than <tmath>$(3+{\frac{k-2}{k}})$</tmath> 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.</p>

INDEX TERMS

Scheduling, parallel/distributed systems, approximation algorithms.

CITATION

Tsan-sheng Hsu, Joseph C. Lee, Dian Rae Lopez, William A. Royce, "Task Allocation on a Network of Processors",

*IEEE Transactions on Computers*, vol.49, no. 12, pp. 1339-1353, December 2000, doi:10.1109/12.895858