Author :
Ahmad, I. ; Dhodhi, M.K. ; Ul-Mustafa, R.
Abstract :
Scheduling a parallel program is a crucial step in effectively harnessing the computing power of a heterogeneous computing system. Obtaining a minimum finish time schedule for a set of precedence constrained tasks is a well known NP-complete problem. Heterogeneity in parallel systems introduces an additional degree of complexity to the scheduling problem, i.e. varying speed of processors. A non-preemptive, compile-time scheduling heuristic has been developed, designated as DPS, that uses dynamic priorities based on the difference between b-level and t-level to map and schedule directed acyclic graphs (DAGs) onto heterogeneous processors, with the objective of minimising the schedule length. In the case of homogeneous processors, it is not difficult to compute the b-level and t-level, since the task execution costs are fixed. However, in the case of heterogeneous processors, as each task has a different execution cost on each processor, the b-level and t-level lose their traditional meaning. The b-level and t-level have been computed in a different and effective way that captures the changes which occurred in the DAG during scheduling. Dynamic priorities are thus determined during the scheduling process in order to avoid scheduling less important tasks before the more important ones. Moreover, the effect of changing the task execution cost to compute the b-level and t-level has also been studied. The effectiveness of the algorithm is demonstrated by comparing it against two of the existing closely related algorithms for randomly generated graphs. DPS outperforms both algorithms by a considerable margin and has a reasonable time complexity