On parallelizing the multiprocessor scheduling problem
Open Access
- 1 April 1999
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Parallel and Distributed Systems
- Vol. 10 (4) , 414-431
- https://doi.org/10.1109/71.762819
Abstract
Existing heuristics for scheduling a node and edge weighted directed task graph to multiple processors can produce satisfactory solutions but incur high time complexities, which tend to exacerbate in more realistic environments with relaxed assumptions. Consequently, these heuristics do not scale well and cannot handle problems of moderate sizes. A natural approach to reducing complexity, while aiming for a similar or potentially better solution, is to parallelize the scheduling algorithm. This can be done by partitioning the task graphs and concurrently generating partial schedules for the partitioned parts, which are then concatenated to obtain the final schedule. The problem, however, is nontrivial as there exists dependencies among the nodes of a task graph which must be preserved for generating a valid schedule. Moreover, the time clock for scheduling is global for all the processors (that are executing the parallel scheduling algorithm), making the inherent parallelism invisible. In this paper, we introduce a parallel algorithm that is guided by a systematic partitioning of the task graph to perform scheduling using multiple processors. The algorithm schedules both the tasks and messages, and is suitable for graphs with arbitrary computation and communication costs, and is applicable to systems with arbitrary network topologies using homogeneous or heterogeneous processors. We have implemented the algorithm on the Intel Paragon and compared it with three closely related algorithms. The experimental results indicate that our algorithm yields higher quality solutions while using an order of magnitude smaller scheduling times. The algorithm also exhibits an interesting trade-off between the solution quality and speedup while scaling well with the problem size.published_or_final_versioKeywords
This publication has 23 references indexed in Scilit:
- Task clustering and scheduling for distributed memory parallel architecturesIEEE Transactions on Parallel and Distributed Systems, 1996
- An inherently parallel method for heuristic problem-solving. I. General frameworkIEEE Transactions on Parallel and Distributed Systems, 1995
- A Bottom-Up Approach to Task Scheduling on Distributed Memory MultiprocessorsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1994
- DSC: scheduling parallel tasks on an unbounded number of processorsIEEE Transactions on Parallel and Distributed Systems, 1994
- A compile-time scheduling heuristic for interconnection-constrained heterogeneous processor architecturesIEEE Transactions on Parallel and Distributed Systems, 1993
- Analysis and evaluation of heuristic methods for static task schedulingJournal of Parallel and Distributed Computing, 1990
- Hypertool: a programming aid for message-passing systemsIEEE Transactions on Parallel and Distributed Systems, 1990
- Towards an Architecture-Independent Analysis of Parallel AlgorithmsSIAM Journal on Computing, 1990
- Automatic determination of grain size for efficient parallel processingCommunications of the ACM, 1989
- Optimal Scheduling Strategies in a Multiprocessor SystemIEEE Transactions on Computers, 1972