Dynamic task scheduling using genetic algorithms for heterogeneous distributed
Andrew J. Page and Thomas J. Naughton
Department of Computer Science,
National University of Ireland, Maynooth,
County Kildare, Ireland.
An algorithm has been developed to dynamically sched-
ule heterogeneous tasks on heterogeneous processors in a
distributed system. The scheduler operates in an environ-
ment with dynamically changing resources and adapts to
variable system resources. It operates in a batch fashion
and utilises a genetic algorithm to minimise the total exe-
cution time. We have compared our scheduler to six other
schedulers, three batch-mode and three immediate-mode
schedulers. We have performed simulations with randomly
tributions, whilst varying the communication overheads be-
tween the clients and scheduler. We have achieved more effi-
cient results than all other schedulers across a range of dif-
ferent scenarios while scheduling 10,000 tasks on up to 50
Distributed computing is a promising approach to meet
the increasing computational requirements of scientific re-
search. However, a number of issues arise which are not en-
countered in sequential processing which, if not properly
handled, can nullify the benefits of parallelization. We be-
lieve that task scheduling is the most important of these is-
sues because inappropriate scheduling of tasks can fail to
exploit the true potential of a distributed system and can off-
set the gains from parallelization due to excessive commu-
nication overhead or under-utilisation of resources. Thus it
falls to one’s scheduling strategy to produce schedules that
efficiently utilise the resources of the distributed system and
minimise the total execution time. The problem of schedul-
ing heterogeneous tasks onto heterogeneous resources, oth-
erwise known as the task allocation problem, is an NP-hard
problem for the general case .
Many heuristic algorithms exist for specific in-
stances of the task scheduling problem, but are inefficient
for a more general case . The use of Holland’s genetic al-
gorithms  (GAs) in scheduling, which apply evolution-
ary strategies to allow for the fast exploration of the search
space of schedules, allows good solutions to be found
quickly and for the scheduler to be applied to more gen-
eral problems. Many researchers have investigated the use
of GAs to schedule tasks in homogeneous [8, 19] and het-
erogeneous [1, 11, 15, 18] multi-processor systems with
Unfortunately, assumptions are often made which reduce
the generality of these solutions, such that scheduling can
be calculated off-line in advance and cannot change [1,
8, 15, 18], all communications times are known in ad-
vance [1, 8, 15, 18], networks provide instantaneous mes-
sage passing , that all processors have equal capabili-
ties and are dedicated to processing tasks from the sched-
uler [1, 8, 9, 14, 15, 17, 18, 19, 20]. These assumptions
limit the generality of these scheduling strategies in real-
world distributed systems. It would be more preferable to
make no assumptions about the homogeneity of the proces-
sors, or about the availability of system resources.
In this paper a scheduling strategy is presented which
uses a GA to schedule heterogeneous tasks on to heteroge-
neous processors to minimise the total execution time. It op-
erates dynamically, allowing for tasks to arrive for process-
ing continuously, and considers variable system resources,
which has not been considered by other dynamic GA sched-
ulers. This paper is an updated version of  in which
we present a revised algorithm, more comprehensive exper-
iments, and significant testing and verification.
In Sect. 2 we review related work and give an overview
of how a GA operates. In Sect. 3 we describe our schedul-
ing algorithm. In Sect. 4 we present the results of our per-
formance experiments. In Sect. 5 we give our conclusions
and suggest future directions for our work in Sect. 6.
6. Future work
We intend to compare all of the schedulers in Sect. 4 on a
general-purpose distributed system . The system is cur-
rently deployed on over 250 heterogeneous PCs and runs
problems from cryptography, bioinformatics, and biomedi-
cal engineering. This will allow us to test our scheduler un-
der real-world conditions.
Support is acknowledged from the Irish Research Coun-
cil for Science, Engineering, and Technology, funded by the
National Development Plan.
 I. Ahmad, Y.-K. Kwok, I. Ahmad, and M. Dhodhi. Schedul-
ing parallel programs using genetic algorithms.
Zomaya, F. Ercal, and S. Olariu, editors, Solutions to Par-
allel and Distributed Computing Problems, chapter 9, pages
231–254. John Wiley and Sons, New York, USA, 2001.
 A. Chipperfield and P. Flemming.
gorithms. In A. Y. Zomaya, editor, Parallel and Dis-
tributed Computing Handbook, pages 1118–1143. McGraw-
Hill, New York, USA, first edition, 1996.
 A. Colorni, M. Dorigo, and V. Maniezzo. Distributed opti-
mization by ant colonies. In Proceedings of the First Eu-
ropean Conference on Artificial Life, pages 134–142, Paris,
France, 1992. Elsevier.
 J. Dongarra, J. Bunch, C. Moler, and G. Stewart. LINPACK
Users Guide. SIAM, Philadelphia, USA, 1979.
 M. R. Garey and D. S. Johnson. Computers and Intractabil-
ity: A Guide to the Theory of NP-Completeness. W. H. Free-
man & Co., New York, NY, 1979.
 F. Glover. Future paths for integer programming and links to
artificial intelligence. Computers and Operations Research,
13:533–549, May 1986.
 J. H. Holland. Adaptation in Natural and Artificial Systems.
MIT Press, Cambridge, MA, USA, 1992.
 E. Hou, N. Ansari, and H. Ren. A genetic algorithm for mul-
tiprocessor scheduling. IEEE Transactions on Parallel and
Distributed Systems, 5(2):113–120, February 1994.
 H. Kasahara and S.Narita.
scheduling algorithms for efficient parallel processing. IEEE
Transactions on Computers, 33(11):1023–1029, November
 T. M. Keane. A general-purpose heterogeneous distributed
computing system. M.Sc. thesis, Department of Computer
Science National University of Ireland, Maynooth, Ireland,
 M. Maheswaran, S. Ali, H. J. Siegel, D. Hensgen, and R. F.
Freund. Dynamic mapping of a class of independent tasks
onto heterogeneous computing systems. Journal of Paral-
lel and Distributed Computing, 59(2):107–131, November
In A. Y.
Parallel genetic al-
 I. M. Oliver, D. J. Smith, and J. Holland. A study of permuta-
tion crossover operators on the traveling salesman problem.
In Proceedings of the Second International Conference on
Genetic Algorithms on Genetic algorithms and their appli-
cation, pages 224–230. Lawrence Erlbaum Associates, Inc.,
 A. J. Page and T. J. Naughton.
scheduling in heterogeneous distributed computing using ge-
netic algorithms. In 15th Artificial Intelligence and Cogni-
tive Science Conference, pages 137–146, Castlebar, Ireland,
 H. J. Siegel, L. Wang, V. Roychowdhury, and M. Tan. Com-
puting with heterogeneous parallel machines: advantages
and challenges.In Proceedings on Second International
Symposium on Parallel Architectures, Algorithms, and Net-
works, pages 368–374, Beijing, China, June 1996.
 M. D. Theys, T. D. Braun, H. J. Siegal, A. A. Maciejewski,
and Y.-K. Kwok. Mapping Tasks onto Distributed Hetero-
geneous Computing Systems Using a Genetic Algorithm Ap-
proach, chapter 6, pages 135–178. John Wiley and Sons,
New York, USA, 2001.
 Top 500 Super Computers. http://www.top500.org.
 A. Y. Zomaya, M. Clements, and S. Olariu. A framework
tems. IEEE Transactions on Parallel and Distributed Sys-
tems, 9(3):249–260, March 1998.
 A. Y. Zomaya, R. C. Lee, and S. Olariu.
tion to genetic-based scheduling in parallel processor sys-
tems. In A. Y. Zomaya, F. Ercal, and S. Olariu, editors, Solu-
tions to Parallel and Distributed Computing Problems, chap-
ter 5, pages 111–133. John Wiley and Sons, New York, USA,
 A. Y. Zomaya and Y.-H. Teh. Observations on using ge-
netic algorithms for dynamic load-balancing. IEEE Trans-
actions on Parallel and Distributed Systems, 12(9):899–911,
 A. Y. Zomaya, C. Ward, and B. Macey. Genetic schedul-
ing for parallel processor systems: comparative studies and
performance issues. IEEE Transactions on Parallel and Dis-
tributed Systems, 10(8):795–812, August 1999.
Framework for task