@inproceedings{80e854d6f7f94afab319a5ac70ae3a3e,
title = "Optimal and near-optimal allocation of precedence-constrained tasks to parallel processors: Defying the high complexity using effective search techniques",
abstract = "Obtaining an optimal schedule for a set of precedence-constrained tasks with arbitrary costs is a well-known NP-complete problem. However, optimal solutions are desired in many situations. In this paper we propose search-based algorithms for determining optimal schedules for moderately large problem sizes. The first algorithm which is based on the A∗ search technique uses a computationally efficient cost function for guiding the search with reduced complexity. We propose a number of state-pruning techniques to reduce the size of the search space. For further lowering the complexity, we parallelize the search. The parallel version is based on reduced interprocessor communication and is guided by static and dynamic load-balancing schemes to evenly distribute the search states to the processors. We also propose an approximate algorithm that guarantees a bounded deviation from the optimal solution but takes considerably shorter time. Based on an extensive experimental evaluation of the algorithms, we conclude that the parallel algorithm with pruning techniques is an efficient scheme for generating optimal solutions for medium to moderately large problems while the approximate algorithm is a useful alternative if slightly degraded solutions are acceptable.",
keywords = "Multiprocessors, Optimal scheduling, Parallel A∗, Parallel processing, State-space search techniques, Task graphs",
author = "Ishfaq Ahmad and Kwok, {Yu Kwong}",
note = "Publisher Copyright: {\textcopyright} 1998 IEEE.; 1998 International Conference on Parallel Processing, ICPP 1998 ; Conference date: 10-08-1998 Through 14-08-1998",
year = "1998",
doi = "10.1109/ICPP.1998.708514",
language = "English",
series = "Proceedings of the International Conference on Parallel Processing",
pages = "424--431",
editor = "Lai, {Ten H.}",
booktitle = "Proceedings - 1998 International Conference on Parallel Processing, ICPP 1998",
}