rial optimization, the heterogenous and dynamic char-
acteristics of Grids makes the problem very complex
for Grid environments. For instance, a Grid can con-
nect PCs, LANs and Supercomputers and jobs of very
different workload can arrive in the Grid. Moreover,
job scheduling in Grids is a large scale optimization
problem due to the large number of jobs that could ar-
rive in the Grid and of the large number of Grid nodes
that could potentially participate in the planning of
jobs. Therefore, although useful, the techniques used
in traditional scheduling may fail to produce efficient
planning in Grids since they are not grid-aware, that
is, do not have knowledge of the characteristics of the
underlaying Grid infrastructure.
Given the dynamic nature of the grid systems,
any scheduler should provide allocations of jobs to
resources as fast as possible. Therefore, schedulers
based on very efficient methods are very important
especially in presence of time restrictions on job ex-
ecutions on the grid. Immediate and batch methods
fall into this type of methods since they distinguish
for their efficiency in contrast to more sophisticated
schedulers that could need larger execution times.
In the immediate mode, a job is scheduled as soon
as the job enters in the scheduler while in batch mode
jobs are grouped in a batch of jobs, which is sched-
uled according to a time interval specified by a map-
ping event. Thus, in immediate mode we are inter-
ested to schedule jobs without waiting for the next
time interval the scheduler will get activated or when
the job arrival rate is small having thus available re-
sources to execute jobs immediately. On the con-
trary, when the job arrival rate is high, resources are
most likely occupied with executing previously allo-
cated jobs, thus the batch mode could be activated. In
the immediate mode we consider the following five
methods: Opportunistic Load Balancing (OLB), Min-
imum Completion Time (MCT), Minimum Execution
Time (MET), Switching Algorithm (SA) and k-Percent
Best (kPB). The batch mode methods we consider are:
Min-Min, Max-Min, Sufferage and Relative Cost.
Ad hoc methods for for heterogenous computing
environments have been explored in several works
in the literature (Maheswaran et al., 1999; Abraham
et al., 2000; Braun et al., 2001; Wu and Shu, 2001).
Depending on the characteristics of the Grid resources
and jobs, these methods could present very different
performance. For instance, the MCT method per-
forms well for consistent computing environments,
however, it performs poorly for inconsistent com-
puting environments. Moreover, an ad hoc method
could perform well if the optimization criterion is the
makespan but could perform poorly if the optimiza-
tion criterion were the flowtime. Thus, as stand alone
methods, these ad hoc methods are not able to pro-
duce the best planning of jobs to resources for differ-
ent types of Grid resources and job characteristics.
In this work we have designed and implemented
an hyper-heuristic that uses the above mentioned ad
hoc methods to achieve the best scheduling of jobs to
Grid nodes according to the Grid and job character-
istics. The hyper-heuristic is a high level algorithm,
which examines the state and characteristics of the
Grid system (jobs and resources), and applies the ad
hoc method that yields the best planning of jobs to
Grid resources.
Our starting point was the empirical evaluation of
the nine ad hoc methods using the static benchmark of
static instances (Braun et al., 2001). This benchmark
is intended for heterogenous environments and con-
sists of families of instances sharing common charac-
teristics regarding the consistency of computing, the
heterogeneity of jobs and heterogeneity of resources.
We run each of the nine ad hoc methods on 100 dif-
ferent instances of the benchmark to study the behav-
ior of these ad hoc methods and then we embed this
knowledge on the hyper-heuristic. The performance
of the hyper-heuristic is evaluated in a dynamic en-
vironment through a prototype of a Grid simulator.
The experimental study showed the usefulness of us-
ing the hyper-heuristic, which uses knowledge of the
underlying Grid (such as the degree of consistency
of computing, heterogeneity of jobs and heterogene-
ity of resources) in its decision-taking as opposed to
using ad hoc heuristics as stand alone methods or a
pure random choice method. The performance of the
hyper-heuristic is done with regard to three parame-
ters of the Grid system: makespan, flowtime and re-
source utilization.
The rest of the paper is organized as follows. We
give in Section 2 a description of the job scheduling
in computational grids considered in this work. The
ad hoc methods used in the hyper-heuristic as well
as their evaluation is given in Section 3. The design
of the hyper-heuristic is given in Section 4 and some
computational results and evaluation is given in Sec-
tion 5. We end in Section 6 with some conclusions
and future work.
2 INDEPENDENT JOB
SCHEDULING IN GRIDS
The job scheduling problem in grids has many char-
acteristics in common with the traditional scheduling
problems. The objective is to efficiently map jobs to
resources; however, in a global, heterogenous and dy-
namic environment, such as grid environment, we re
A HYPER-HEURISTIC FOR SCHEDULING INDEPENDENT JOBS IN COMPUTATIONAL GRIDS
129