Dealing with heterogeneity through limited duplication for scheduling precedence constrained task graphs
Scheduling is one of the vital design issues for heterogeneous computing systems. The work available in literature, by and large, focuses on the scheduling of metatasks (set of independent tasks with only few data dependent subtasks) in such an environment. A majority of complex scientific/ / engineering applications, however, fall in the category of precedence-constrained task graphs. Scheduling of such graphs is generally limited to list-based techniques. Further, diverse performance metrics and heterogeneity models, as adopted by various researchers, make the comparison process quite inconclusive. We have made an attempt to categorize heterogeneity models and performance metrics so as to have better understanding and to facilitate a more uniform platform for developing and comparing such algorithms. Further, a generic scheduling strategy is presented, which improves the performance of list-based heuristics with the addition of limited duplication. A comparison of state-of-the-art scheduling algorithms is next performed using an A-Cube performance model that has been suggested to study the behavior of an algorithm, application and architecture in the presence of heterogeneity. Depending upon the type and extent of heterogeneity, performance of an algorithm is found to degrade with heterogeneity as the penalty imposed for any injudicious move on the part of heuristic tends to be more severe for heterogeneous computing environment in comparison to its homogeneous counterpart. However, the proposed heterogeneous limited duplication algorithm, having its roots in our earlier suggested SD algorithm, succeeds substantially in overcoming these stresses and strains; of heterogeneity, and retains the best features of duplication without compromising much on the complexity front.
heterogeneous computing scheduling algorithm duplication heuristic static scheduling distributed computing