A Multiple Priority Queueing Genetic Algorithm for Task Scheduling on Heterogeneous Computing Systems
On the distributed or parallel heterogeneous computing systems, an application is usually decomposed into several independent and/or interdependent sets of cooperating subtasks and assigned to a set of available processors for execution. Heuristic-based task scheduling algorithms consist of the two typical phases of task prioritization and processor selection. However, heuristic-based task scheduling algorithms produce a different makespan (completion time /schedule length) using the different task prioritization on a distributed or parallel heterogeneous computing systems. Therefore, the role of a good scheduling algorithm is to efficiently assign each subtask to a priority depending on the resources needed to minimize makespan. In this paper, a multiple priority queueing genetic algorithm (MPQGA) for task scheduling on heterogeneous computing systems is proposed. The basic idea of our approach is to exploit the advantages of both evolutionary and heuristic based algorithms while avoiding their drawbacks. Our algorithm incorporates a genetic algorithm (GA) approach to assign priority for each subtask while using a heuristic based heterogeneous earliest finish time (HEFT) approach to search for a solution for mapping subtasks to processors. The software simulation results, over a large set of randomly generated graphs as well as graphs for real-world problems with various characteristics, show that the makespan is increased when the number of nodes or communication to computation ratios (CCR) increased and decreased with the increasing parallelism or number of available processors. The proposed MPQGA algorithm significantly outperforms several related algorithms in terms of the schedule quality. The average makespan reduction is about 5.3%.