A Study in Allocating Task Graphs onto a Heterogeneous Cluster-Computing System

Heterogeneous cluster computing is regarded as a promising approach to solve CPU-intensive problems at a low cost. One can decompose a composite parallel program into constituent tasks so that these tasks can be assigned to different process elements (PEs) for concurrent execution. These tasks generally can be characterized by a task graph, which is represented as a directed acyclic graph (DAG). In this study, a dynamic scheduling heuristic is proposed for allocating task graphs onto a heterogeneous cluster-computing system. The proposed algorithm, called the Dynamic Grouping Scheduling (DGS) algorithm, differs from conventional algorithms in two respects. First, DGS employs a task-grouping strategy to determine the initial computation cost of a task. Second, this algorithm estimates the competence of PEs for unscheduled tasks at each scheduling step. The performance of DGS is demonstrated by comparing it with other existing algorithms in terms of the schedule length. Experimental results show that the proposed DGS performs better than the competing scheduling heuristics under the effects of varying power weights of PEs.