Multi-heuristic list scheduling genetic algorithm for task scheduling

  • Authors:
  • Andy Auyeung;Iker Gondra;H. K. Dai

  • Affiliations:
  • Oklahoma State University, Math Science 219, Stillwater, OK;Oklahoma State University, Math Science 219, Stillwater, OK;Oklahoma State University, Math Science 219, Stillwater, OK

  • Venue:
  • Proceedings of the 2003 ACM symposium on Applied computing
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Scheduling tasks on a multi-processor system involves making a choice as to the order in which several tasks can be executed and assigned to processors. The problem is to find a schedule that will minimize the execution time of a program. Because task scheduling on a multi-processor system is known to be an NP-complete problem, many heuristics have been developed, each of which may find optimal or near optimal schedulings under different circumstances. List Scheduling, in particular, employs heuristics to choose among all tasks that are ready to be executed, the combination of tasks that should be scheduled in the next cycle. It does this by keeping a list of "ready" tasks which is prioritized based on a particular heuristic. In this paper, we present four common heuristics used by List Scheduling and compare their performance with that of our multi-heuristic based solution.The proposed solution is to use a genetic algorithm to find a combination of the four heuristics that, for a particular instance of the task scheduling problem, outperforms a scheduling based on only one of the four heuristics. We believe that, by using a mixture of the four heuristics, the size of the subset of all possible schedulings that we search increases and thus we have a higher chance of finding a better scheduling. The results of our experiments show that schedulings found with the proposed multi-heuristic list scheduling genetic algorithm outperforms those found with each one of the four list scheduling heuristics alone.