Scheduling task graphs optimally with A*

29Citations
Citations of this article
11Readers
Mendeley users who have this article in their library.

Your institution provides access to this article.

Abstract

Scheduling tasks onto the processors of a parallel system is a crucial part of program parallelisation. Due to the NP-hard nature of the task scheduling problem, scheduling algorithms are based on heuristics that try to produce good rather than optimal schedules. Nevertheless, in certain situations it is desirable to have optimal schedules, for example for time-critical systems or to evaluate scheduling heuristics. This paper investigates the task scheduling problem using the A*search algorithm which is a best-first state space search. The adaptation of the A*search algorithm for the task scheduling problem is referred to as the A*scheduling algorithm. The A*scheduling algorithm can produce optimal schedules in reasonable time for small to medium sized task graphs with several tens of nodes. In comparison to a previous approach, the here presented A*scheduling algorithm has a significantly reduced search space due to a much improved consistent and admissible cost function f(s) and additional pruning techniques. Experimental results show that the cost function and the various pruning techniques are very effective for the workload. Last but not least, the results show that the proposed A*scheduling algorithm significantly outperforms the previous approach. © 2010 Springer Science+Business Media, LLC.

Author supplied keywords

Cite

CITATION STYLE

APA

Semar Shahul, A. Z., & Sinnen, O. (2010). Scheduling task graphs optimally with A*. In Journal of Supercomputing (Vol. 51, pp. 310–332). Kluwer Academic Publishers. https://doi.org/10.1007/s11227-010-0395-1

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free