means that the optimum solution cannot be found
within polynominal time. But this is not necessary,
as long as a schedule is found, which fulfils all user
requirements in terms of time and costs at least and
the resources are used homogeneously in the sense
of the resource supplier.
The quality of the schedule is determined by the
fulfillment of different criteria, e.g. makespan,
fulfillment of user requirements (time and costs) or
resource utilization, which partly contradict each
other. For all these criteria, a normalized quality
function is defined and the resulting values are
added up to a weighted sum. This weighted sum
may be reduced by a penalty function which is
applied in case of the violation of constraints. The
weighted sum is used instead of pareto optimization,
because alternative solutions make little sense in an
automated scheduling process.
2.4 Optimization Strategies
In GORBA a two-step planning mechanism is
suggested, which utilizes approved heuristics from
job shop scheduling like job with the shortest
execution time first or job which is closest to due
time first. Both are simple and fast local optimizers.
They are used to seed the initial population (set of
start solutions) of the global optimizer, the
evolutionary algorithm GLEAM (General Learning
and Evolutionary Algorithm and Method) (Blume et
al., 2002). Evolutionary algorithms are known to be
a powerful general optimization technique which
can deliver at least nearly optimal solutions of NP-
complete problems. On the other hand, they
converge slowly when they approach an optimum.
The common solution of this drawback is a
hybridization with local search methods in order to
obtain the best of both worlds: A global and fast
search. Hybridization is done in three ways: Firstly,
by seeding the start population, secondly, in the
process of resource selection as will be described
later, and thirdly, by local improvement of offspring
generated by evolution. The last mechanism is also
known as memetic algorithms which have proved
their usefulness in many applications.
Our experiments focus on two different gene
models having in common that the grid job
execution sequence is determined by evolution. The
first one (GM1) leaves the selection of a resource
from a set of alternatively useable ones to evolution
and the second one (GM2) uses one of the following
simple strategies instead: Use the fastest or cheapest
available resource in general or let the application
job priority decide which one to use. As it is not
known a priori which of these three strategies
performs best for a given planning task, a fourth
strategy was added: Let the evolution decide which
of the three strategies to use for a generated solution.
This means that the resource selection strategy is co-
evolved together with the schedules.
3 BENCHMARKS
To evaluate scheduling algorithms, two types of
benchmarks are used: Benchmarks modeled from
real applications and synthetically produced
benchmarks (Takao et al., 2002)(Hönig et al.,
2004)(Wieczorek et al., 2006). It is the advantage of
application-oriented benchmarks that they are close
to practice. Their drawbacks consist in a mostly
small diversity and in the fact that their
characteristic properties which will be described
below cannot be influenced specifically. Therefore,
it was decided to use synthetically produced
benchmarks to evaluate and improve the
optimization strategies in GORBA.
Examples for other synthetically produced
benchmarks can be found in (Takao et al., 2002) and
(Hönig et al., 2004). These benchmarks are
restricted to homogeneous resources and to single
DAG scheduling. By contrast, the GORBA
benchmarks include inhomogeneous resources with
different performance factors, different costs, and
availabilities. Another important aspect of GORBA
is the possibility of planning and optimisation of
multiple application jobs, each with its own
individual optimisation goals (multiple DAG
scheduling), which requires enhancements of the
existing benchmarks. Multiple DAG scheduling is
also treated in (Hönig et al., 2006) and it is planned
to examine these benchmarks and feed them to
GORBA in the near future.
For the benchmarks, two parameters are defined,
which describe their complexity. The parameter D
denotes the degree of mutual dependency of the grid
jobs, which results from their predecessor/successor
relations. As the grid jobs usually have various
resources requirements, which means that they
cannot be executed on any resource, another
parameter (R) describes the degree of freedom in the
selection of resources. Both parameters are defined
as follows:
Dependence:
max
spj
spj
D =
ICSOFT 2007 - International Conference on Software and Data Technologies
82