SlideShare a Scribd company logo
Multi-Objective Problem Solving With Offspring on Enterprise Clouds
Christian Vecchiola, Michael Kirley, and Rajkumar Buyya
Department of Computer Science & Software Engineering
The University of Melbourne, 3053, Carlton, Victoria, Australia
{csve, mkirley, raj}@csse.unimelb.edu.au
Abstract
In this paper, we present a distributed implementa-
tion of a network based multi-objective evolutionary
algorithmcalled EMOby using Offspring. Network
based evolutionary algorithms have proven to be effec-
tive for multi-objective problem solving. They feature a
network of connections between individuals that drives
the evolution of the algorithm. Unfortunately, they re-
quire large populations to be effective and a distrib-
uted implementation can leverage the computation time.
Most of the existing frameworks are limited to provid-
ing solutions that are basic or specific to a given algo-
rithm. Our Offspring framework is a plug-in based
software environment that allows rapid deployment
and execution of evolutionary algorithms on distrib-
uted computing environments such as Enterprise
Clouds. Its features and benefits are presented by de-
scribing the distributed implementation of EMO.
1. Introduction
Many problems in science, engineering, and economics
require solutions consisting of several incommensur-
able and possibly conflicting objectives, constraints,
and/or problem parameters. Multi-objective evolution-
ary algorithms (MOEAs) are now a well-established
population based metaheuristic used to find a set of
Pareto-optimal solutions for such problems [1]. How-
ever, one of the major difficulties when applying
MOEAs to real-world problems is the computational
cost associated with the large number of function
evaluations necessary to obtain a range of acceptable
solutions. In the MOEA domain, there have only been a
relatively small number of parallel models described as
compared with the single objective domain (see Veld-
huizen et al. [2] for a review). Recently, we introduced
a novel complex network-based MOEA [3, 4], called
EMO, to address the many inherent challenges when
attempting to find a range of solutions, particularly for
problems with a large number of objectives. Initially,
we restricted the implementation to a sequential model.
In this paper, we introduce its distributed implemen-
tation by using Offspring, which is a framework we
developed for distributing the execution of evolutionary
algorithms. Enterprise Clouds [5] provide the required
computational power to solve large optimization prob-
lems in a reasonable period. Offspring provides facili-
ties for distributing the large computation load gener-
ated by MOEAs, by simply asking the user to define the
strategy to use for coordinating the distributed execu-
tion. The primary aim of this system is to provide a
friendly user environment for researchers in combinato-
rial optimization who do not want to be concerned
about building interconnection software layers and
learning underlying middleware APIs. Specifically, we
provide a visual user interface that manages the execu-
tion of population based optimization algorithms, a set
of APIs allowing researchers to write a plug-in for this
environment quickly. The distributed version of our
serial implementation of MOEA has been developed as
a plug-in for this system by simply defining a strategy
which: (i) coordinates the different serial executions
distributed among the nodes; and (ii) applies smart mi-
grations at the end of each of the iterations of the algo-
rithm. Even though the infrastructure provided by Off-
spring is general enough to deploy a distributed imple-
mentation of any population based algorithms, the real
advantage is obtained when a distributed implementa-
tion is composed by coordinating the runs of the serial
implementation of the same algorithm. In that case, the
distributed implementation with Offspring is obtained
with a minimal coding effort, because it is only neces-
sary to code the coordination strategy. These conditions
apply to the population based metaheuristics making
use of topology information to improve the quality of
solutions.
The rest of the paper is organized as follows. In Sec-
tion 2, we describe the related work in virtualization
technologies and distributed metaheuristics. Section 3
provides a very brief introduction to population based
metaheuristics and introduces the challenges in distrib-
uting network based evolutionary algorithms. Section 4
and 5 describe the architecture of the distributed im-
plementation of EMO by using Offspring. Some pre-
liminary results are reported in Section 6. Conclusions
and plans for future work follow in Section 7.
2. Background
The idea of providing support for distributed execution
of nature inspired population based metaheuristics has
been investigated with interest in the last two decades
[6]. In particular, this topic has been thoroughly inves-
tigated for genetic algorithms and different parallel
execution models have been devised [7, 8]. There exist
a wide range of grid middleware technologies, such as
Alchemi [9], Condor-G [10], the Globus Toolkit [11],
and grid resource brokering technologies, such as Nim-
rod/G [12] and Grid Service Broker [13], that have
simplified the development of distributed problem solv-
ing environments. In this work, we focus on developing
the Offspring framework in .NET based Cloud Com-
puting environments.
For what concerns distributed optimization, different
solutions are now available for researchers. Nimrod/O
[14] is a tool allowing running distributed optimization
problems by using any Nimrod based system, such as
Nimrod/G, as distribution infrastructure. Nimrod/O
allows users to take advantage of different optimization
algorithms (BGFS, Simplex, Divide and Conquer, and
Simulated Annealing). It requires users to specify the
structure of the optimization problem and the variable
that needs to be minimized. ParadisEO-MOEO [15] is
an object-oriented framework that provides a full fea-
tured object model for implementing distributed meta-
heuristics, by focusing on code reuse and efficiency. It
supports MPI, Condor-G, and Globus as distributing
middleware technologies. DREAM (Distributed Re-
source Evolutionary Algorithm Machine) [16] provides
a software infrastructure and a technology for the
automatic distribution of evolutionary algorithm proc-
essing. DREAM is based on a virtual machine that uses
a P2P mobile agent system for distributing the compu-
tation. Other minor projects such as TEA, JDEAL, and
JMETAL mostly focus on providing a good support for
metaheuristic implementation and put less emphasis on
the integration with distributed computing technologies.
Nimrod/O provides a technique for distributing a set
of built-in optimization algorithms that is based on pa-
rameter sweeping. Offspring provides a more general
approach and an extensible platform for creating dis-
tributed evolutionary algorithms. With Offspring, re-
searchers can either define the structure of the distrib-
uted algorithm or the single computation performed on
each of the nodes. These tasks cannot be performed
with Nimrod/O that simply provides a technique for
partitioning the problem space and distribute the com-
putation. For these reasons, Offspring is more similar to
DREAM since it provides a distribution engine making
the development of distributed evolutionary algorithms
straightforward. The approach used by DREAM to dis-
tribute the computation is based on mobile multi-agent
systems, while Offspring relies on the Enterprise
Clouds. Compared to ParadisEO-MOEO Offspring
provides a smaller set of features, especially for what
concerns the statistical analysis of the solutions. The
API provided by ParadisEO-MOEO allows developers
to virtually control any aspect of the implementation of
a distributed metaheuristic. This great flexibility makes
the development of a new metaheuristic not straight-
forward, but a good understanding of the APIs is re-
quired. The primary concern of Offspring is to provide
simple and easy to use abstractions allowing research-
ers to compose a distributed metaheuristic by giving
them the maximum freedom on the policies used to
coordinate the distributed execution. As a result, the
number of APIs to learn and use has been kept minimal.
Moreover, another feature that distinguishes Offspring
from the solutions presented is the use of Enterprise
Clouds and Computational Grids.
3. Distributed Evolutionary Algorithms
Evolutionary algorithms are a class of population based
metaheuristics [6] exploiting the concept of population
evolution to find solutions to optimization problems. A
population is a collection of individuals where each
individual representsor maintains information
abouta specific solution of the optimization problem.
The optimal solution is then found by using an iterative
process that evolves the collection of individuals in
order to improve the quality of the solution. Genetic
Algorithms (GAs) [17] are the most popular evolution-
ary algorithms. They imitate the process by which na-
ture creates new chromosomes by recombining and
mutating existing chromosomes in order to generate the
new population. Figure 1 describes the structure of
these algorithms.
When tackling real world problems, such as those
described in Handl et al. [18], the compute intensive
step is the evaluation of each individual. A range of
structured or parallel genetic algorithms has been pro-
posed where the population is decentralized in some
way (see Cantù-Paz [7] and Alba et al. [8] for an over-
view). The models may be loosely classified into one of
the following four types: single-population master-
slaves, multiple populations (island model), cellular
(diffusion model), and hierarchical combinations. Mas-
ter-slave models distribute only the evaluation phase,
while multiple populations distributed the whole execu-
tion of the algorithm.
Recently, the easy access to Grid and Cloud comput-
ing infrastructures has made the deployment of hierar-
chical models quite common. These models compose
the previously discussed models to better exploit the
heterogeneity of distributed computing resources that
can be found within Enterprise Clouds or Computing
Grids. The execution of the evolutionary algorithm is
generally divided into layers and at each of the layers a
different model can be used. The most common imple-
mentation is based on a two level structure which uses a
multi-population coarse grained distribution model at
the first level and a master-slave or a cellular model at
the second level. A recent implementation of this model
has been proposed in Lim et al. [19] for genetic algo-
rithms.
The complex network based model introduced by
Kirley and Stevens [3, 4] is fundamentally a diffusion-
based evolutionary algorithm. Individuals in the evolv-
ing population are mapped to the nodes of a given
complex network – regular 2D lattice, small-world net-
work, scale-free network or random network [20]. Here,
the individuals interact in their local neighborhood,
which is defined by the topology of the given network,
and an external archive is used to store the evolved
Pareto optimal front. An important feature of the algo-
rithm was the variation in connectivity (node degree)
and corresponding selection pressure across a given
network. Reported results using the complex network-
based model suggest that there were significant differ-
ences between the network architectures considered
using the well-known ZDT benchmark multi-objective
problems [21]. Significantly, relatively large population
sizes are required if the inherent clustering properties of
alternative complex network architectures are to be
used. In order to handle these huge computation needs,
a scalable hierarchical version of complex network-
based model can be instantiated by employing multiple
isolated populations – or islands. This model is de-
scribed in Figure 2. Here, the individuals in each of the
islands are mapped on to a particular topology and the
evolution of the algorithm takes place separately. It is
possible to tune each of the islands with the same or
with different parameters settings, according to the spe-
cific distribution strategy implemented. Once the evolu-
tionary algorithm is completed on the single computa-
tion node, the front is sent to a central coordinator node
which: (i) aggregates all the fronts; (ii) performs statis-
tical analysis; and (iii) applies migrations of individuals
belonging to different populations.
Islands:
evolution algorithm
Coordination node:
-Migration
-Statistics
Figure 2. The Hierarchical Complex Network Based
Model.
Such a model allows us to perform smart migrations
and Offspring makes their implementation quite easy.
In the next section, we will show how, given this distri-
bution model, it is possible to rapidly prototype a dis-
tributed implementation that takes advantage of the
services of Enterprise Clouds.
4. Architecture
4.1. Design Considerations
Offspring has been designed to support researchers in
combinatorial optimization in quickly deploying their
algorithms on a distributed computing infrastructure. In
order to be effective the framework should require a
minimum knowledge of Computing Grids and Enter-
prise Clouds from users. The requirements for this class
of applications are: (i) simplicity of use; (ii) rapid de-
velopment of new heuristics; (iii) support for distrib-
uted execution; and (iv) support for result analysis.
In the following, we will show how Offspring ad-
dresses these issues by describing its architecture and
the main features of the system.
1. P[0] = a1[0], …, an[0] /* initialization */
2. while not stop condition S is met do
2.1 generate a new population P[t] by using:
mutation and recombination
2.2 evaluate the set of solutions
2.3 compute S
t = t + 1
endwhile
Figure 1. Genetic Algorithms.
Plug-in
Problem
Algorithm Information
Distribution Strategy
Distribution Engine
Control Endpoints
Visualizers
Aneka Scheduler
Offspring GUI
cluster
HP PC
HP PC
CS Labs PCs
Desktop PC
Aneka Enterprise Cloud
Plug-in
Problem
Algorithm Information
Distribution Strategy
Distribution Engine
Control Endpoints
Visualizers
Aneka Scheduler
Offspring GUI
cluster
HP PC
HP PC
CS Labs PCs
Desktop PC
Aneka Enterprise Cloud
Plug-in
Problem
Algorithm Information
Distribution Strategy
Distribution Engine
Control Endpoints
Visualizers
Problem
Algorithm Information
Distribution Strategy
Distribution Engine
Control Endpoints
Visualizers
Aneka Scheduler
Offspring GUI
cluster
HP PC
HP PC
CS Labs PCs
Desktop PC
Aneka Enterprise Cloud
Figure 3. System Architecture.
4.2. System View
Offspring delivers to users (i) an environment through
which run, monitor, and control distributed applications;
(ii) a thin distribution middleware that takes care of
interacting with the Enterprise Cloud; and (iii) a refer-
ence model for implementing such applications. The
environment is fully customizable by using plug-ins
that: (i) expose control endpoints in order to let the
environment and the user visually control the execution
of the algorithm; (ii) embed a distribution engine in
charge of controlling the execution of the application;
(iii) provide the user interface support for configuring
and monitoring the execution of the application. The
environment is able to load and manage multiple plug-
ins and multiple applications at the same time.
Offspring provides two different integration models
for building distributed applications:
It is possible to develop a complete plug-in and
then taking a finer control on how the environ-
ment interacts with the Cloud.
It is possible to simply define distribution logic
of the application, which provides to the envi-
ronment the task that need to be executed at
each of the iterations.
The first approach is more powerful but requires the
users to know the APIs exposed by the Enterprise
Cloud. The second approach makes the use of the
Cloud completely transparent to the users and hence
has been chosen for developing the distributed meta-
heuristic discussed in this work.
4.3. Aneka
Offspring relies on Aneka [22] to distribute the compu-
tation of applications. Initially Aneka developed as a
third generation grid technology in .NET environments.
The recent advancement of Aneka introduced several
new Cloud computing capabilities, such as SLA ori-
ented resource allocation and the MapReduce pro-
gramming model [23]. The main features of the plat-
form are (i) a configurable service container hosting
pluggable services for discovering, scheduling, and
balancing workload; and (ii) a flexible and extensible
framework/API supporting a variety of programming
models such as threading, batch processing, and
MapReduce. These features allow the system adminis-
trator to fine tune the installation of Aneka by carefully
selecting the resources to use on each computational
node. From the developer’s point of view, Aneka pro-
vides a rich programming interface that allows enabling
applications with support for Cloud computing quickly.
Developers can choose between different execution
models and select the abstraction that better fit their
needs.
The distribution model of Offspring has been im-
plemented on top of the Task Model. The Task Model
is the easiest and the most general programming model
supported by Aneka. It provides ready to use task
classes for executing legacy code and a minimal inter-
face for programming tasks. By using the Task Model,
is possible to quickly parallelize legacy applications, or
to write simple distributed applications with almost no
knowledge of the distribution middleware. The use of
the Aneka Task Model together with the plug-in archi-
tecture offered by Offspring allows the development of
distributed metaheuristics without requiring users to
know Aneka APIs: the Offspring environment takes
care of interacting with Aneka, and by using the distri-
bution logic defined by the user executes the distributed
meta-heuristic.
IOffspringTask
+ Execute(): void
IOffspringStrategy
+ Init(): void
+ NextIteration(): bool
+ NextTask(): IOffspringTask
+ OnSuccess(IOffspringTask task): void
+ OnFailure(IOffspringTask task): IOffspringTask
+ Release(bool bStopRequested): void
+ GetPipe(): IDataPipe
- Complete: bool
- IterationComplete: bool
- Dependencies: List<AssemblyName>
EMOStrategy
IOffspringStrategy….
IDataPipe
EMOTask
- Inputs: InputData
- Outputs: OutputData
- Executable: byte[]
- ExitCode: int
- Timing:
+ Execute(): void
IOffspringTask
EMODataPipe
IDataPipe- Front: List<Individual>
- Archive: List<Individual>
StrategyController
- Connection: GridConnection
- DistributionStrategy: IOffspringStrategy
+ Start(): void
+ Stop(): void
IOffspringTask
+ Execute(): void
IOffspringStrategy
+ Init(): void
+ NextIteration(): bool
+ NextTask(): IOffspringTask
+ OnSuccess(IOffspringTask task): void
+ OnFailure(IOffspringTask task): IOffspringTask
+ Release(bool bStopRequested): void
+ GetPipe(): IDataPipe
- Complete: bool
- IterationComplete: bool
- Dependencies: List<AssemblyName>
EMOStrategy
IOffspringStrategy….
EMOStrategy
IOffspringStrategy….
IDataPipeIDataPipe
EMOTask
- Inputs: InputData
- Outputs: OutputData
- Executable: byte[]
- ExitCode: int
- Timing:
+ Execute(): void
IOffspringTask
EMOTask
- Inputs: InputData
- Outputs: OutputData
- Executable: byte[]
- ExitCode: int
- Timing:
+ Execute(): void
IOffspringTask
EMODataPipe
IDataPipe- Front: List<Individual>
- Archive: List<Individual>
EMODataPipe
IDataPipe- Front: List<Individual>
- Archive: List<Individual>
StrategyController
- Connection: GridConnection
- DistributionStrategy: IOffspringStrategy
+ Start(): void
+ Stop(): void
StrategyController
- Connection: GridConnection
- DistributionStrategy: IOffspringStrategy
+ Start(): void
+ Stop(): void
Figure 4. Offspring Strategy and EMO++ Class Diagram.
5. Implementation
5.1. From EMO to EMO++
The reason for porting the EMO algorithm to a distrib-
uted version is twofold. On one side, we wanted to be
able to run the algorithm with a reasonable number of
individuals in order to take advantage of the network-
based model. On the other side we wanted to apply
smart migration strategies among different population
of individuals which evolved by using different net-
work topologies. Hence, we did not need to change the
structure of the algorithm but simply put a coordination
strategy on top of it, which distributed the computation,
evaluated results, and took decisions for the next macro
iteration.
Figure 4 describes the object model exposed by Off-
spring for implementing population-based metaheuris-
tics together with the implementation provided for
EMO++. A strategy provides a collection of tasks that
are executed on the distribution middleware by the
strategy controller. In order to implement the EMO++
metaheuristic we defined a concrete class for the strat-
egy (EMOStrategy), for the single task (EMOTask),
and provided support for data visualization (EMO-
DataPipe). In this section, we will describe how these
components interact together.
5.2. Remote Node Execution
For what concerns the execution of EMO on the single
node, there are no special requirements. It is only nec-
essary to start the EMO algorithm with the proper input
and configuration parameters and collect the results of
execution. Given this, the implementation of the EMO-
Task class consists of a very thin software layer that
performs the following operations: (i) retrieves the in-
put files and executable for the execution; (ii) starts a
process and run the EMO application; (iii) waits for the
termination and collects the results generated.
The amount of code required to perform these op-
erations in C# does not exceed the body the Execute
method of the IOffspringTask interface. The actual im-
plementation provides some utility methods to monitor
and control more accurately the execution but does not
change the essence of the execution.
5.3. Implementing the Distribution Strategy
The concrete implementation of the strategy is defined
in the EMOStrategy class that defines the distribution
and coordinating logic of our metaheuristic. It provides
the tasks that will be executed by means of Strategy-
Controller on Aneka. It controls the evolution of each
of the iterations, merges the results obtained by the
execution of tasks, and performs statistical analysis of
data.
In Figure 5 we can see the interaction between the
StrategyController and the EMOStrategy at runtime.
The main execution flow is characterized by a sequence
of iterations, and for each of the iterations the controller
queries the strategy for a task to be executed. This exe-
cution model perfectly fits population-based metaheu-
ristics, which are characterized by an iterative behavior.
For what concerns network-based model of EMO, it is
possible to distribute the computation of each of the
iterations by taking advantage of the topology informa-
tion connecting individuals. In this way, we can easily
create a task for each group of individuals connected
together. Since the execution of EMO on the single
node is driven by topology information, it is not
Init Application
Init Strategy
Submit Tasks
Wait
Complete?
Or Stop?
Release Strategy
Shutdown
Application
Task Failed?
Invoke OnSuccess Invoke OnFailed
New Task?
Submit
Iteration
Complete?signal
Control Thread
Task Feedback
Monitoring Thread
no
no
no
yes
yes
yes
yesno
Init Application
Init Strategy
Submit Tasks
Wait
Complete?
Or Stop?
Release Strategy
Shutdown
Application
Task Failed?
Invoke OnSuccess Invoke OnFailed
New Task?
Submit
Iteration
Complete?signal
Control Thread
Task Feedback
Monitoring Thread
no
no
no
yes
yes
yes
yesno
Figure 5. Strategy Execution.
necessary to have the complete population running on
the single node but only the connected individuals.
The StrategyController class authenticates with
Aneka by using the credential obtained from the Off-
spring environment, initializes the distributed applica-
tion, and then the strategy. During initialization, the
strategy configures the initial population, and prepares
the common data for each task, such as the executable
running defining the EMO algorithm. The main loop of
the controller executes the iterations until the strategy
does not set its Complete property to true. For each of
the iterations the controller repeatedly asks new tasks
to execute until the strategy provides a null task. The
controller then puts itself in waiting mode. At the same
time, a monitoring thread is responsible of collecting
the tasks that completed their execution andaccord-
ing to their statusof forwarding them to the strategy.
The strategy merges the front with the current active
front and updates statistics. For each task collected, the
controller queries the strategy in order to know whether
the current iteration has completed or not. If the itera-
tion is completed the control thread is woken up and
the execution proceeds to the next iteration.
This architecture concentrates within the strategy
controller concurrency and distributed middleware
management by keeping the definition of a strategy
simple and only concerned with the implemented algo-
rithm. The plug-in architecture previously described
makes the integration with Offspring straightforward.
This is done just by deploying the library containing
the strategy definition and the executable of the EMO
algorithm in the plug-in directory of the environment.
6. Performance Considerations
In order to evaluate our model, we conducted an ex-
periment in the Computer Science department at the
University of Melbourne. The Enterprise Cloud of the
department is composed of one scheduler node (Dell
OPTIPlex GX 270 Pentium IV 3.00 GHz, 3.25 Gb of
RAM running Windows XP SP2 and .NET 2.0) and 33
computing nodes (Dell OPTIPlex GX 2f0 Pentium IV
3.40 GHz, 1.5 G of RAM running Windows XP SP2
and .NET 2.0). The Cloud resources are located into
three different student laboratories connected by a 100
MB switched LAN. For what concerns the configura-
tion of Aneka, the scheduler and the computing nodes
have been set up to support the Task and the Thread
programming model.
In order to test the gain obtained by the aggregate
computing power of the system we executed a test suite
of benchmark problems (ZDT1–ZDT6 and DLTZ1–
DLTZ6) with different number of individuals and a
fixed number of iterations. The numbers of individuals
tested are 100, 300, 500, 1000, while the number of
iterations used has been kept constant to 100. In order
to compare the timing data of the serial execution with
the timing data of the distributed execution we adopted
the following convention: for a given serial run charac-
terized by X individuals, we set up a distributed run
that creates 10 islands with X divided by 10 individuals
each.
Figure 6 shows the speed up obtained by using the
distributed version compared to the serial execution.
As we can notice, there is no advantage in executing
the distributed version when the total number of indi-
viduals is 100. The only two benchmark problems that
are actually solved faster are DTLZ4 and DTLZ6,
which are the most compute intensive. With a number
of 300 individuals, we have a positive speed up for all
the benchmark problems, but the only two problems
that have super linear speed up are DTLZ4 and DTLZ6.
With a number of individuals equal 500, all the DTLZ
problems have a super linear speed up.
Figure 6. Speed up Gain.
We also measured the overhead introduced by
Aneka and Offspring for each of the iterations of the
algorithm. The overhead has been computed by consid-
ering the time spent from the creation of the task and
the collection of its results. This value has been then
compared with pure execution time of the EMO algo-
rithm recorded on the computing node.
Figure 7. Distribution Overhead.
Figure 7 confirms the results obtained for the speed
up. As it can be noticed, when the total number of indi-
viduals is 100, the average distribution overhead is
about 85% of the whole execution time, and this ex-
plains why for that number of individuals we have a
negative speed up. With the increase of the number of
individuals, the average overhead decreases and falls
below 6% of the whole computation time for popula-
tions composed by 1000 individuals.
The tests performed on the EMO++ plug-in demon-
strate that there is a continuous increase in the execu-
tion speed up as the number of individuals increases.
We also identified the lower bound of 100 individuals,
under which the distribution infrastructure provided by
Offspring does not provide any advantage. The reason
why we have such a slow performance with 100 indi-
viduals is that the distribution overhead is the same
order of magnitude of the execution on the local ma-
chine. In the case of network-based evolutionary algo-
rithms this is not an issue, because this class of algo-
rithms, in order to take advantage of the connection
between individuals, requires a minimum population
size that is at least ten times bigger 100 individuals.
7. Conclusion and Future Works
In this paper, we presented the approach proposed by
Offspring for distributed multi objective evolutionary
algorithms on Enterprise Clouds. The aim of Offspring
is to minimize the code required to provide a distrib-
uted implementation of a population based metaheuris-
tics without requiring the researchers to know distribu-
tion middleware APIs. Few still active frameworks
have such level of abstraction and none of them relies
on Enterprise Clouds. This is what motivated the au-
thors to implement a new framework. A specific em-
phasis has been put in providing high degree of flexi-
bility, ease of use, and rapid prototyping features. The
most appropriate approach for delivering such support
is by using plug-in architecture APIs allowing third
parties to implement new solution without knowing the
detail of the entire code-base.
The effectiveness of Offspring has been tested by
deploying EMO++, a distributed implementation of
EMO. EMO++ is a port of a real world network
basedand computationally intensivepopulation
metaheuristic. It keeps information about the connec-
tions among individuals and exploits them to evolve
the population towards a better solution. This class of
algorithms requires a large number of individuals in
order to be effective and for this reason, it constitutes
the perfect candidate for a distributed implementation
and deployment with Offspring. We developed
EMO++ as a strategy for Offspring and made some
preliminary tests. Results show that the model pro-
posed by Offspring is effective when there is a real
need for a distributed implementation. In order to be
effective network based evolutionary algorithms re-
quire at least 1000 individuals and the model proposed
by Offspring provides an increasing speed up when the
Distribution Overhead
0
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
100 300 500 1000
Individuals
ZDT1
ZDT2
ZDT3
ZDT4
ZDT5
ZDT6
DLTZ1
DLTZ2
DLTZ3
DLTZ4
DLTZ5
DLTZ6
Overhead
Speed Up
0.1
1
10
100
100 300 500
Individuals
Speed up
(log10)
ZDT1
ZDT2
ZDT3
ZDT4
ZDT5
ZDT6
DLTZ1
DLTZ2
DLTZ3
DLTZ4
DLTZ5
DLTZ6
number of individuals is only 300. A preliminary
analysis of the overhead introduced by Offspring and
the Cloud middleware used shows encouraging results
for large population sizes. We can then conclude that in
this case the distribution infrastructure provided by
Offspring does not affect the performance.
To the best of our knowledge Offspring is unique in
its nature, even though is still missing some important
features if compared with other solutions. In particular,
support for built-in statistical analysis that is something
that still need to be implemented in plug-ins.
8. References
[1] C.C. Coello, D.V. Veldhuizen, and G.B. Lamont, EA for
Solving Multi-Objective Problems, Kluwer, 2002.
[2] D.A.V. Veldhuizen, J.B. Zydallis, G.B. Lamont, “Con-
siderations in engineering parallel multiobjective evolution-
ary algorithms”, IEEE Trans. Evol. Comput. vol. 7, pp. 144–
173, 2003.
[3] M. Kirley and R. Stewart, “An analysis of the effects of
population structure on scalable multiobjective optimization
problems”, in Proc. of the 9th annual conference on Genetic
and evolutionary computation (GECCO-2007), ACM Press,
London, July, 2007, pp. 845–852.
[4] M. Kirley, and R. Stewart, “Multiobjective evolutionary
algorithms on complex networks”, in Proc. of the Fourth
International Conference on Evolutionary Multi-Criterion
Optimization, Lecture Notes Computer Science 4403,
Springer Berlin, Heidelberg, 2007, pp. 81–95.
[5] R. Buyya, C.S. Yeo, and S. Venugopal, S., “Market-
Oriented Cloud Computing: Vision, Hype, and Reality for
Delivering IT Services as Computing Utilities”, Keynote
Paper, in Proc. of the 10th IEEE International Conference
on High Performance Computing and Communications
(HPCC 2008), IEEE CS Press, Los Alamitos, CA, USA, Sept.
25–27, 2008.
[6] E. Alba, Parallel Metaheuristics: A New Class of Algo-
rithms, Wiley, 2005.
[7] E. Cantú-Paz, Efficient and Accurate Parallel Genetic
Algorithms, Kluwer Academic Publisher, Boston, MA, 2000.
[8] E. Alba, A.J. Nebro, and J.M. Troya, “Heterogeneous
Computing and Parallel Genetic Algorithms”, Journal of
Parallel and Distributed Computing, vol. 62, pp. 1362–1385,
2002.
[9] A. Luther, R, Buyya, R. Ranjan, and S. Venugopal, “Al-
chemi: A .NET-Based Enterprise Grid Computing System”,
Proc. of the 6th International Conference on Internet Com-
puting (ICOMP'05), CSREA Press, Las Vegas, USA, 2005.
[10] J. Frey, T. Tannenbaum, M. Livny, I. Foster, and S.
Tuecke, “Condor-G: A Computation Management Agent for
Multi-Institutional Grids”, Cluster Computing, Volume 5(3),
pp. 237–246, 2004.
[11] I. Foster and C. Kesselman, “Globus: A Toolkit-Based
Grid Architecture”, Foster, I. and Kesselman, C. eds., The
Grid: Blueprint for a New Computing Infrastructure, Mor-
gan Kaufmann, 1999, pp. 259–278.
[12] R. Buyya, D. Abramson, J. Giddy, “Nimrod/G: An Ar-
chitecture for a Resource Management and Scheduling Sys-
tem in a Global Computational Grid”, in Proc. of the HPC
ASIA’2000, the 4th International Conference on High Per-
formance Computing in Asia-Pacific Region, IEEE Com-
puter Society Press, USA, 2000.
[13] S. Venugopal, R. Buyya, and L. Winton, “A Grid Ser-
vice Broker for Scheduling e-Science Applications on Global
Data Grids”, Concurrency and Computation: Practice and
Experience, vol. 18(6), pp. 685–699, Wiley Press, New York,
USA, May, 2006.
[14] D. Abramson, A. Lewis, and T. Peachy, “Nimrod/O: A
Tool for Automatic Design Optimization Using Parallel and
Distributed Systems”, in Proc. 4th International Conference
on Algorithms & Architectures for Parallel Processing
(ICA3PP 2000), World Scientific, 2000.
[15] S. Cahon, N. Melab, and E.-G. Talbi, “ParadisEO: A
Framework for the Reusable Design of Parallel and Distrib-
uted Metaheuristics”, Journal of Heuristics, vol. 10(3), pp.
357–380, May 2004.
[16] M.G. Arenas, P. Collet, A.E. Eiben, M. Jelasity, J.J.
Merelo, B. Paechter, M. Preuß, and M. Schoenauer, “A
Framework for Distributed Evolutionary Algorithms”, in
Proc. of the 7th International Conference on Parallel Prob-
lem Solving from Nature (PPSN VII), Granada, September
2002.
[17] K.A. De Jong, Evolutionary Computation: A Unified
Approach, MIT Press, 2006.
[18] J. Handl, D. Kell, and J. Knowles, “Multiobjective op-
timization in computational biology and bioinformatics”,
IEEE Transactions on Computational Biology and Bioin-
formatics, vol. 4(2), pp. 279–292, 2007.
[19] D. Lim, Y.S. Ong, Y. Jin, B. Sendhoff, and B.S. Lee,
“Efficient Hierarchical Parallel Genetic Algorithms Using
Grid Computing”, Future Generation Computer Systems, vol.
23(4), pp. 658–670, Elsevier, 2007.
[20] S. Dorogovtsev and J. Mendes, Evolution of Networks:
From Biological Nets to the Internet and WWW, Oxford
University Press, Oxford, 2003.
[21] E. Zitzler and L. Thiele, “Multiobjective evolutionary
algorithms: A comparative case study and the strength pareto
approach”, IEEE Transactions on Evolutionary Computation,
vol. 3(4), pp. 257–271, 1999.
[22] X. Chu, K. Nadiminti, C. Jin, S. Venugopal, and R.
Buyya, “Aneka: Next-Generation Enterprise Grid Platform
for e-Science and e-Business Applications”, in Proc. of the
3rd IEEE International Conference on e-Science and Grid
Computing, IEEE Computer Society Press, Los Alamitos, CS,
2007. pp. 151–159.
[23] J. Dean and S. Ghemawat, “MapReduce: Simplified
Data Processing on Large Clusters”. Presented at OSDI'04:
Sixth Symposium on Operating System Design and Imple-
mentation, San Francisco, CA, December, 2004.

More Related Content

What's hot

Vol 16 No 2 - July-December 2016
Vol 16 No 2 - July-December 2016Vol 16 No 2 - July-December 2016
Vol 16 No 2 - July-December 2016ijcsbi
 
A preliminary survey on optimized multiobjective metaheuristic methods for da...
A preliminary survey on optimized multiobjective metaheuristic methods for da...A preliminary survey on optimized multiobjective metaheuristic methods for da...
A preliminary survey on optimized multiobjective metaheuristic methods for da...ijcsit
 
Computational model for artificial learning using formal concept analysis
Computational model for artificial learning using formal concept analysisComputational model for artificial learning using formal concept analysis
Computational model for artificial learning using formal concept analysisAboul Ella Hassanien
 
Volume 2-issue-6-1930-1932
Volume 2-issue-6-1930-1932Volume 2-issue-6-1930-1932
Volume 2-issue-6-1930-1932Editor IJARCET
 
Model of Differential Equation for Genetic Algorithm with Neural Network (GAN...
Model of Differential Equation for Genetic Algorithm with Neural Network (GAN...Model of Differential Equation for Genetic Algorithm with Neural Network (GAN...
Model of Differential Equation for Genetic Algorithm with Neural Network (GAN...Sarvesh Kumar
 
Survey on classification algorithms for data mining (comparison and evaluation)
Survey on classification algorithms for data mining (comparison and evaluation)Survey on classification algorithms for data mining (comparison and evaluation)
Survey on classification algorithms for data mining (comparison and evaluation)Alexander Decker
 
The Advancement and Challenges in Computational Physics - Phdassistance
The Advancement and Challenges in Computational Physics - PhdassistanceThe Advancement and Challenges in Computational Physics - Phdassistance
The Advancement and Challenges in Computational Physics - PhdassistancePhD Assistance
 
Machine Learning Algorithms for Image Classification of Hand Digits and Face ...
Machine Learning Algorithms for Image Classification of Hand Digits and Face ...Machine Learning Algorithms for Image Classification of Hand Digits and Face ...
Machine Learning Algorithms for Image Classification of Hand Digits and Face ...IRJET Journal
 
Job Scheduling on the Grid Environment using Max-Min Firefly Algorithm
Job Scheduling on the Grid Environment using Max-Min  Firefly AlgorithmJob Scheduling on the Grid Environment using Max-Min  Firefly Algorithm
Job Scheduling on the Grid Environment using Max-Min Firefly AlgorithmEditor IJCATR
 
Levenberg marquardt-algorithm-for-karachi-stock-exchange-share-rates-forecast...
Levenberg marquardt-algorithm-for-karachi-stock-exchange-share-rates-forecast...Levenberg marquardt-algorithm-for-karachi-stock-exchange-share-rates-forecast...
Levenberg marquardt-algorithm-for-karachi-stock-exchange-share-rates-forecast...Cemal Ardil
 
Using Dempster-Shafer Theory and Real Options Theory
Using Dempster-Shafer Theory and Real Options TheoryUsing Dempster-Shafer Theory and Real Options Theory
Using Dempster-Shafer Theory and Real Options TheoryEric van Heck
 
Ijartes v1-i2-006
Ijartes v1-i2-006Ijartes v1-i2-006
Ijartes v1-i2-006IJARTES
 
IRJET- Use of Artificial Neural Network in Construction Management
IRJET- Use of Artificial Neural Network in Construction ManagementIRJET- Use of Artificial Neural Network in Construction Management
IRJET- Use of Artificial Neural Network in Construction ManagementIRJET Journal
 

What's hot (19)

Vol 16 No 2 - July-December 2016
Vol 16 No 2 - July-December 2016Vol 16 No 2 - July-December 2016
Vol 16 No 2 - July-December 2016
 
A046010107
A046010107A046010107
A046010107
 
395 404
395 404395 404
395 404
 
A preliminary survey on optimized multiobjective metaheuristic methods for da...
A preliminary survey on optimized multiobjective metaheuristic methods for da...A preliminary survey on optimized multiobjective metaheuristic methods for da...
A preliminary survey on optimized multiobjective metaheuristic methods for da...
 
Ch35473477
Ch35473477Ch35473477
Ch35473477
 
Computational model for artificial learning using formal concept analysis
Computational model for artificial learning using formal concept analysisComputational model for artificial learning using formal concept analysis
Computational model for artificial learning using formal concept analysis
 
Volume 2-issue-6-1930-1932
Volume 2-issue-6-1930-1932Volume 2-issue-6-1930-1932
Volume 2-issue-6-1930-1932
 
Model of Differential Equation for Genetic Algorithm with Neural Network (GAN...
Model of Differential Equation for Genetic Algorithm with Neural Network (GAN...Model of Differential Equation for Genetic Algorithm with Neural Network (GAN...
Model of Differential Equation for Genetic Algorithm with Neural Network (GAN...
 
40120130405012
4012013040501240120130405012
40120130405012
 
Survey on classification algorithms for data mining (comparison and evaluation)
Survey on classification algorithms for data mining (comparison and evaluation)Survey on classification algorithms for data mining (comparison and evaluation)
Survey on classification algorithms for data mining (comparison and evaluation)
 
The Advancement and Challenges in Computational Physics - Phdassistance
The Advancement and Challenges in Computational Physics - PhdassistanceThe Advancement and Challenges in Computational Physics - Phdassistance
The Advancement and Challenges in Computational Physics - Phdassistance
 
1104.0355
1104.03551104.0355
1104.0355
 
Machine Learning Algorithms for Image Classification of Hand Digits and Face ...
Machine Learning Algorithms for Image Classification of Hand Digits and Face ...Machine Learning Algorithms for Image Classification of Hand Digits and Face ...
Machine Learning Algorithms for Image Classification of Hand Digits and Face ...
 
G44093135
G44093135G44093135
G44093135
 
Job Scheduling on the Grid Environment using Max-Min Firefly Algorithm
Job Scheduling on the Grid Environment using Max-Min  Firefly AlgorithmJob Scheduling on the Grid Environment using Max-Min  Firefly Algorithm
Job Scheduling on the Grid Environment using Max-Min Firefly Algorithm
 
Levenberg marquardt-algorithm-for-karachi-stock-exchange-share-rates-forecast...
Levenberg marquardt-algorithm-for-karachi-stock-exchange-share-rates-forecast...Levenberg marquardt-algorithm-for-karachi-stock-exchange-share-rates-forecast...
Levenberg marquardt-algorithm-for-karachi-stock-exchange-share-rates-forecast...
 
Using Dempster-Shafer Theory and Real Options Theory
Using Dempster-Shafer Theory and Real Options TheoryUsing Dempster-Shafer Theory and Real Options Theory
Using Dempster-Shafer Theory and Real Options Theory
 
Ijartes v1-i2-006
Ijartes v1-i2-006Ijartes v1-i2-006
Ijartes v1-i2-006
 
IRJET- Use of Artificial Neural Network in Construction Management
IRJET- Use of Artificial Neural Network in Construction ManagementIRJET- Use of Artificial Neural Network in Construction Management
IRJET- Use of Artificial Neural Network in Construction Management
 

Viewers also liked

What a difference a day makes
What a difference a day makesWhat a difference a day makes
What a difference a day makesSimon Walsh
 
2016 Toyota Yaris Sedan brochure
2016 Toyota Yaris Sedan brochure2016 Toyota Yaris Sedan brochure
2016 Toyota Yaris Sedan brochuresteeringnews
 
Ueda2016 wark shop - insulin pens - precise injection technique - khaled el...
Ueda2016 wark shop - insulin pens - precise injection technique -   khaled el...Ueda2016 wark shop - insulin pens - precise injection technique -   khaled el...
Ueda2016 wark shop - insulin pens - precise injection technique - khaled el...ueda2015
 
How is the real world represented in GIS?
How is the real world represented in GIS?How is the real world represented in GIS?
How is the real world represented in GIS?Gavin Wray
 
Advantages and disadvantages of open source education resources
Advantages and disadvantages of open source education resourcesAdvantages and disadvantages of open source education resources
Advantages and disadvantages of open source education resourcesrcarrier21
 
Profile Multiple Cytokines and Chemokines Simultaneously with Very High Sensi...
Profile Multiple Cytokines and Chemokines Simultaneously with Very High Sensi...Profile Multiple Cytokines and Chemokines Simultaneously with Very High Sensi...
Profile Multiple Cytokines and Chemokines Simultaneously with Very High Sensi...QIAGEN
 
Guión comentario gráficos y mapas
Guión comentario gráficos y mapasGuión comentario gráficos y mapas
Guión comentario gráficos y mapasRocío Bautista
 
UK digital marketing overview June 2016
UK digital marketing overview June 2016UK digital marketing overview June 2016
UK digital marketing overview June 2016Krishna De
 
Pengertian dan contoh bentuk informasi nonverbal
 Pengertian dan contoh bentuk informasi nonverbal Pengertian dan contoh bentuk informasi nonverbal
Pengertian dan contoh bentuk informasi nonverbalFahim Ardiyansah
 
Ud5. espacios del sector primario. prácticos
Ud5. espacios del sector primario. prácticosUd5. espacios del sector primario. prácticos
Ud5. espacios del sector primario. prácticosRocío Bautista
 
Phytoaccumulation
PhytoaccumulationPhytoaccumulation
Phytoaccumulationkakaki405
 

Viewers also liked (20)

Power
PowerPower
Power
 
What a difference a day makes
What a difference a day makesWhat a difference a day makes
What a difference a day makes
 
Peoples Tv
Peoples TvPeoples Tv
Peoples Tv
 
Globalization And State
Globalization And StateGlobalization And State
Globalization And State
 
Project proposal
Project proposalProject proposal
Project proposal
 
La flaka
La flakaLa flaka
La flaka
 
Plegable biologia molecular
Plegable biologia molecularPlegable biologia molecular
Plegable biologia molecular
 
2016 Toyota Yaris Sedan brochure
2016 Toyota Yaris Sedan brochure2016 Toyota Yaris Sedan brochure
2016 Toyota Yaris Sedan brochure
 
Ueda2016 wark shop - insulin pens - precise injection technique - khaled el...
Ueda2016 wark shop - insulin pens - precise injection technique -   khaled el...Ueda2016 wark shop - insulin pens - precise injection technique -   khaled el...
Ueda2016 wark shop - insulin pens - precise injection technique - khaled el...
 
Hdmtx Induced Nephrotoxicity
Hdmtx Induced NephrotoxicityHdmtx Induced Nephrotoxicity
Hdmtx Induced Nephrotoxicity
 
How is the real world represented in GIS?
How is the real world represented in GIS?How is the real world represented in GIS?
How is the real world represented in GIS?
 
Advantages and disadvantages of open source education resources
Advantages and disadvantages of open source education resourcesAdvantages and disadvantages of open source education resources
Advantages and disadvantages of open source education resources
 
Profile Multiple Cytokines and Chemokines Simultaneously with Very High Sensi...
Profile Multiple Cytokines and Chemokines Simultaneously with Very High Sensi...Profile Multiple Cytokines and Chemokines Simultaneously with Very High Sensi...
Profile Multiple Cytokines and Chemokines Simultaneously with Very High Sensi...
 
Guión comentario gráficos y mapas
Guión comentario gráficos y mapasGuión comentario gráficos y mapas
Guión comentario gráficos y mapas
 
UK digital marketing overview June 2016
UK digital marketing overview June 2016UK digital marketing overview June 2016
UK digital marketing overview June 2016
 
Pengertian dan contoh bentuk informasi nonverbal
 Pengertian dan contoh bentuk informasi nonverbal Pengertian dan contoh bentuk informasi nonverbal
Pengertian dan contoh bentuk informasi nonverbal
 
Ud5. espacios del sector primario. prácticos
Ud5. espacios del sector primario. prácticosUd5. espacios del sector primario. prácticos
Ud5. espacios del sector primario. prácticos
 
Restaurant Industry - India - Sectoral Analysis
Restaurant Industry - India - Sectoral AnalysisRestaurant Industry - India - Sectoral Analysis
Restaurant Industry - India - Sectoral Analysis
 
Phytoaccumulation
PhytoaccumulationPhytoaccumulation
Phytoaccumulation
 
Cáncer hereditario Noviembre 2012
Cáncer hereditario Noviembre 2012Cáncer hereditario Noviembre 2012
Cáncer hereditario Noviembre 2012
 

Similar to MultiObjective(11) - Copy

IRJET- Machine Learning Techniques for Code Optimization
IRJET-  	  Machine Learning Techniques for Code OptimizationIRJET-  	  Machine Learning Techniques for Code Optimization
IRJET- Machine Learning Techniques for Code OptimizationIRJET Journal
 
Survey on evolutionary computation tech techniques and its application in dif...
Survey on evolutionary computation tech techniques and its application in dif...Survey on evolutionary computation tech techniques and its application in dif...
Survey on evolutionary computation tech techniques and its application in dif...ijitjournal
 
MAP/REDUCE DESIGN AND IMPLEMENTATION OF APRIORIALGORITHM FOR HANDLING VOLUMIN...
MAP/REDUCE DESIGN AND IMPLEMENTATION OF APRIORIALGORITHM FOR HANDLING VOLUMIN...MAP/REDUCE DESIGN AND IMPLEMENTATION OF APRIORIALGORITHM FOR HANDLING VOLUMIN...
MAP/REDUCE DESIGN AND IMPLEMENTATION OF APRIORIALGORITHM FOR HANDLING VOLUMIN...acijjournal
 
Parallel and distributed genetic algorithm with multiple objectives to impro...
Parallel and distributed genetic algorithm  with multiple objectives to impro...Parallel and distributed genetic algorithm  with multiple objectives to impro...
Parallel and distributed genetic algorithm with multiple objectives to impro...khalil IBRAHIM
 
Cobe framework cloud ontology blackboard environment for enhancing discovery ...
Cobe framework cloud ontology blackboard environment for enhancing discovery ...Cobe framework cloud ontology blackboard environment for enhancing discovery ...
Cobe framework cloud ontology blackboard environment for enhancing discovery ...ijccsa
 
Modelling Open-Source Software Reliability Incorporating Swarm Intelligence-B...
Modelling Open-Source Software Reliability Incorporating Swarm Intelligence-B...Modelling Open-Source Software Reliability Incorporating Swarm Intelligence-B...
Modelling Open-Source Software Reliability Incorporating Swarm Intelligence-B...AIRCC Publishing Corporation
 
Use of genetic algorithm for
Use of genetic algorithm forUse of genetic algorithm for
Use of genetic algorithm forijitjournal
 
Art%3 a10.1186%2f1687 6180-2011-29
Art%3 a10.1186%2f1687 6180-2011-29Art%3 a10.1186%2f1687 6180-2011-29
Art%3 a10.1186%2f1687 6180-2011-29Ishtiaq Ahmad
 
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
 An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
An Adjacent Analysis of the Parallel Programming Model Perspective: A SurveyIRJET Journal
 
Load Distribution Composite Design Pattern for Genetic Algorithm-Based Autono...
Load Distribution Composite Design Pattern for Genetic Algorithm-Based Autono...Load Distribution Composite Design Pattern for Genetic Algorithm-Based Autono...
Load Distribution Composite Design Pattern for Genetic Algorithm-Based Autono...ijsc
 
LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...
LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...
LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...ijsc
 
Big data cloud-based recommendation system using NLP techniques with machine ...
Big data cloud-based recommendation system using NLP techniques with machine ...Big data cloud-based recommendation system using NLP techniques with machine ...
Big data cloud-based recommendation system using NLP techniques with machine ...TELKOMNIKA JOURNAL
 
Deepcoder to Self-Code with Machine Learning
Deepcoder to Self-Code with Machine LearningDeepcoder to Self-Code with Machine Learning
Deepcoder to Self-Code with Machine LearningIRJET Journal
 
mapReduce for machine learning
mapReduce for machine learning mapReduce for machine learning
mapReduce for machine learning Pranya Prabhakar
 
An Integrated Solver For Optimization Problems
An Integrated Solver For Optimization ProblemsAn Integrated Solver For Optimization Problems
An Integrated Solver For Optimization ProblemsMonica Waters
 

Similar to MultiObjective(11) - Copy (20)

B1802030511
B1802030511B1802030511
B1802030511
 
IRJET- Machine Learning Techniques for Code Optimization
IRJET-  	  Machine Learning Techniques for Code OptimizationIRJET-  	  Machine Learning Techniques for Code Optimization
IRJET- Machine Learning Techniques for Code Optimization
 
Survey on evolutionary computation tech techniques and its application in dif...
Survey on evolutionary computation tech techniques and its application in dif...Survey on evolutionary computation tech techniques and its application in dif...
Survey on evolutionary computation tech techniques and its application in dif...
 
MAP/REDUCE DESIGN AND IMPLEMENTATION OF APRIORIALGORITHM FOR HANDLING VOLUMIN...
MAP/REDUCE DESIGN AND IMPLEMENTATION OF APRIORIALGORITHM FOR HANDLING VOLUMIN...MAP/REDUCE DESIGN AND IMPLEMENTATION OF APRIORIALGORITHM FOR HANDLING VOLUMIN...
MAP/REDUCE DESIGN AND IMPLEMENTATION OF APRIORIALGORITHM FOR HANDLING VOLUMIN...
 
[IJET V2I5P18] Authors:Pooja Mangla, Dr. Sandip Kumar Goyal
[IJET V2I5P18] Authors:Pooja Mangla, Dr. Sandip Kumar Goyal[IJET V2I5P18] Authors:Pooja Mangla, Dr. Sandip Kumar Goyal
[IJET V2I5P18] Authors:Pooja Mangla, Dr. Sandip Kumar Goyal
 
Parallel and distributed genetic algorithm with multiple objectives to impro...
Parallel and distributed genetic algorithm  with multiple objectives to impro...Parallel and distributed genetic algorithm  with multiple objectives to impro...
Parallel and distributed genetic algorithm with multiple objectives to impro...
 
1605.08695.pdf
1605.08695.pdf1605.08695.pdf
1605.08695.pdf
 
Cobe framework cloud ontology blackboard environment for enhancing discovery ...
Cobe framework cloud ontology blackboard environment for enhancing discovery ...Cobe framework cloud ontology blackboard environment for enhancing discovery ...
Cobe framework cloud ontology blackboard environment for enhancing discovery ...
 
Modelling Open-Source Software Reliability Incorporating Swarm Intelligence-B...
Modelling Open-Source Software Reliability Incorporating Swarm Intelligence-B...Modelling Open-Source Software Reliability Incorporating Swarm Intelligence-B...
Modelling Open-Source Software Reliability Incorporating Swarm Intelligence-B...
 
Use of genetic algorithm for
Use of genetic algorithm forUse of genetic algorithm for
Use of genetic algorithm for
 
Art%3 a10.1186%2f1687 6180-2011-29
Art%3 a10.1186%2f1687 6180-2011-29Art%3 a10.1186%2f1687 6180-2011-29
Art%3 a10.1186%2f1687 6180-2011-29
 
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
 An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
 
Load Distribution Composite Design Pattern for Genetic Algorithm-Based Autono...
Load Distribution Composite Design Pattern for Genetic Algorithm-Based Autono...Load Distribution Composite Design Pattern for Genetic Algorithm-Based Autono...
Load Distribution Composite Design Pattern for Genetic Algorithm-Based Autono...
 
LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...
LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...
LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...
 
Big data cloud-based recommendation system using NLP techniques with machine ...
Big data cloud-based recommendation system using NLP techniques with machine ...Big data cloud-based recommendation system using NLP techniques with machine ...
Big data cloud-based recommendation system using NLP techniques with machine ...
 
Deepcoder to Self-Code with Machine Learning
Deepcoder to Self-Code with Machine LearningDeepcoder to Self-Code with Machine Learning
Deepcoder to Self-Code with Machine Learning
 
F046063538
F046063538F046063538
F046063538
 
Grid computing for load balancing strategies
Grid computing for load balancing strategiesGrid computing for load balancing strategies
Grid computing for load balancing strategies
 
mapReduce for machine learning
mapReduce for machine learning mapReduce for machine learning
mapReduce for machine learning
 
An Integrated Solver For Optimization Problems
An Integrated Solver For Optimization ProblemsAn Integrated Solver For Optimization Problems
An Integrated Solver For Optimization Problems
 

More from AMIT KUMAR

More from AMIT KUMAR (8)

EJSR(5)
EJSR(5)EJSR(5)
EJSR(5)
 
coa dea(3)
coa dea(3)coa dea(3)
coa dea(3)
 
1641
16411641
1641
 
soft computing
soft computingsoft computing
soft computing
 
2.2.ppt.SC
2.2.ppt.SC2.2.ppt.SC
2.2.ppt.SC
 
Fuzzy Set Theory
Fuzzy Set TheoryFuzzy Set Theory
Fuzzy Set Theory
 
Soft Computing-173101
Soft Computing-173101Soft Computing-173101
Soft Computing-173101
 
RESEARCH METHODOLOGY
RESEARCH METHODOLOGYRESEARCH METHODOLOGY
RESEARCH METHODOLOGY
 

MultiObjective(11) - Copy

  • 1. Multi-Objective Problem Solving With Offspring on Enterprise Clouds Christian Vecchiola, Michael Kirley, and Rajkumar Buyya Department of Computer Science & Software Engineering The University of Melbourne, 3053, Carlton, Victoria, Australia {csve, mkirley, raj}@csse.unimelb.edu.au Abstract In this paper, we present a distributed implementa- tion of a network based multi-objective evolutionary algorithmcalled EMOby using Offspring. Network based evolutionary algorithms have proven to be effec- tive for multi-objective problem solving. They feature a network of connections between individuals that drives the evolution of the algorithm. Unfortunately, they re- quire large populations to be effective and a distrib- uted implementation can leverage the computation time. Most of the existing frameworks are limited to provid- ing solutions that are basic or specific to a given algo- rithm. Our Offspring framework is a plug-in based software environment that allows rapid deployment and execution of evolutionary algorithms on distrib- uted computing environments such as Enterprise Clouds. Its features and benefits are presented by de- scribing the distributed implementation of EMO. 1. Introduction Many problems in science, engineering, and economics require solutions consisting of several incommensur- able and possibly conflicting objectives, constraints, and/or problem parameters. Multi-objective evolution- ary algorithms (MOEAs) are now a well-established population based metaheuristic used to find a set of Pareto-optimal solutions for such problems [1]. How- ever, one of the major difficulties when applying MOEAs to real-world problems is the computational cost associated with the large number of function evaluations necessary to obtain a range of acceptable solutions. In the MOEA domain, there have only been a relatively small number of parallel models described as compared with the single objective domain (see Veld- huizen et al. [2] for a review). Recently, we introduced a novel complex network-based MOEA [3, 4], called EMO, to address the many inherent challenges when attempting to find a range of solutions, particularly for problems with a large number of objectives. Initially, we restricted the implementation to a sequential model. In this paper, we introduce its distributed implemen- tation by using Offspring, which is a framework we developed for distributing the execution of evolutionary algorithms. Enterprise Clouds [5] provide the required computational power to solve large optimization prob- lems in a reasonable period. Offspring provides facili- ties for distributing the large computation load gener- ated by MOEAs, by simply asking the user to define the strategy to use for coordinating the distributed execu- tion. The primary aim of this system is to provide a friendly user environment for researchers in combinato- rial optimization who do not want to be concerned about building interconnection software layers and learning underlying middleware APIs. Specifically, we provide a visual user interface that manages the execu- tion of population based optimization algorithms, a set of APIs allowing researchers to write a plug-in for this environment quickly. The distributed version of our serial implementation of MOEA has been developed as a plug-in for this system by simply defining a strategy which: (i) coordinates the different serial executions distributed among the nodes; and (ii) applies smart mi- grations at the end of each of the iterations of the algo- rithm. Even though the infrastructure provided by Off- spring is general enough to deploy a distributed imple- mentation of any population based algorithms, the real advantage is obtained when a distributed implementa- tion is composed by coordinating the runs of the serial implementation of the same algorithm. In that case, the distributed implementation with Offspring is obtained with a minimal coding effort, because it is only neces- sary to code the coordination strategy. These conditions apply to the population based metaheuristics making use of topology information to improve the quality of solutions. The rest of the paper is organized as follows. In Sec- tion 2, we describe the related work in virtualization technologies and distributed metaheuristics. Section 3 provides a very brief introduction to population based metaheuristics and introduces the challenges in distrib-
  • 2. uting network based evolutionary algorithms. Section 4 and 5 describe the architecture of the distributed im- plementation of EMO by using Offspring. Some pre- liminary results are reported in Section 6. Conclusions and plans for future work follow in Section 7. 2. Background The idea of providing support for distributed execution of nature inspired population based metaheuristics has been investigated with interest in the last two decades [6]. In particular, this topic has been thoroughly inves- tigated for genetic algorithms and different parallel execution models have been devised [7, 8]. There exist a wide range of grid middleware technologies, such as Alchemi [9], Condor-G [10], the Globus Toolkit [11], and grid resource brokering technologies, such as Nim- rod/G [12] and Grid Service Broker [13], that have simplified the development of distributed problem solv- ing environments. In this work, we focus on developing the Offspring framework in .NET based Cloud Com- puting environments. For what concerns distributed optimization, different solutions are now available for researchers. Nimrod/O [14] is a tool allowing running distributed optimization problems by using any Nimrod based system, such as Nimrod/G, as distribution infrastructure. Nimrod/O allows users to take advantage of different optimization algorithms (BGFS, Simplex, Divide and Conquer, and Simulated Annealing). It requires users to specify the structure of the optimization problem and the variable that needs to be minimized. ParadisEO-MOEO [15] is an object-oriented framework that provides a full fea- tured object model for implementing distributed meta- heuristics, by focusing on code reuse and efficiency. It supports MPI, Condor-G, and Globus as distributing middleware technologies. DREAM (Distributed Re- source Evolutionary Algorithm Machine) [16] provides a software infrastructure and a technology for the automatic distribution of evolutionary algorithm proc- essing. DREAM is based on a virtual machine that uses a P2P mobile agent system for distributing the compu- tation. Other minor projects such as TEA, JDEAL, and JMETAL mostly focus on providing a good support for metaheuristic implementation and put less emphasis on the integration with distributed computing technologies. Nimrod/O provides a technique for distributing a set of built-in optimization algorithms that is based on pa- rameter sweeping. Offspring provides a more general approach and an extensible platform for creating dis- tributed evolutionary algorithms. With Offspring, re- searchers can either define the structure of the distrib- uted algorithm or the single computation performed on each of the nodes. These tasks cannot be performed with Nimrod/O that simply provides a technique for partitioning the problem space and distribute the com- putation. For these reasons, Offspring is more similar to DREAM since it provides a distribution engine making the development of distributed evolutionary algorithms straightforward. The approach used by DREAM to dis- tribute the computation is based on mobile multi-agent systems, while Offspring relies on the Enterprise Clouds. Compared to ParadisEO-MOEO Offspring provides a smaller set of features, especially for what concerns the statistical analysis of the solutions. The API provided by ParadisEO-MOEO allows developers to virtually control any aspect of the implementation of a distributed metaheuristic. This great flexibility makes the development of a new metaheuristic not straight- forward, but a good understanding of the APIs is re- quired. The primary concern of Offspring is to provide simple and easy to use abstractions allowing research- ers to compose a distributed metaheuristic by giving them the maximum freedom on the policies used to coordinate the distributed execution. As a result, the number of APIs to learn and use has been kept minimal. Moreover, another feature that distinguishes Offspring from the solutions presented is the use of Enterprise Clouds and Computational Grids. 3. Distributed Evolutionary Algorithms Evolutionary algorithms are a class of population based metaheuristics [6] exploiting the concept of population evolution to find solutions to optimization problems. A population is a collection of individuals where each individual representsor maintains information abouta specific solution of the optimization problem. The optimal solution is then found by using an iterative process that evolves the collection of individuals in order to improve the quality of the solution. Genetic Algorithms (GAs) [17] are the most popular evolution- ary algorithms. They imitate the process by which na- ture creates new chromosomes by recombining and mutating existing chromosomes in order to generate the new population. Figure 1 describes the structure of these algorithms. When tackling real world problems, such as those described in Handl et al. [18], the compute intensive step is the evaluation of each individual. A range of structured or parallel genetic algorithms has been pro- posed where the population is decentralized in some way (see Cantù-Paz [7] and Alba et al. [8] for an over- view). The models may be loosely classified into one of the following four types: single-population master- slaves, multiple populations (island model), cellular
  • 3. (diffusion model), and hierarchical combinations. Mas- ter-slave models distribute only the evaluation phase, while multiple populations distributed the whole execu- tion of the algorithm. Recently, the easy access to Grid and Cloud comput- ing infrastructures has made the deployment of hierar- chical models quite common. These models compose the previously discussed models to better exploit the heterogeneity of distributed computing resources that can be found within Enterprise Clouds or Computing Grids. The execution of the evolutionary algorithm is generally divided into layers and at each of the layers a different model can be used. The most common imple- mentation is based on a two level structure which uses a multi-population coarse grained distribution model at the first level and a master-slave or a cellular model at the second level. A recent implementation of this model has been proposed in Lim et al. [19] for genetic algo- rithms. The complex network based model introduced by Kirley and Stevens [3, 4] is fundamentally a diffusion- based evolutionary algorithm. Individuals in the evolv- ing population are mapped to the nodes of a given complex network – regular 2D lattice, small-world net- work, scale-free network or random network [20]. Here, the individuals interact in their local neighborhood, which is defined by the topology of the given network, and an external archive is used to store the evolved Pareto optimal front. An important feature of the algo- rithm was the variation in connectivity (node degree) and corresponding selection pressure across a given network. Reported results using the complex network- based model suggest that there were significant differ- ences between the network architectures considered using the well-known ZDT benchmark multi-objective problems [21]. Significantly, relatively large population sizes are required if the inherent clustering properties of alternative complex network architectures are to be used. In order to handle these huge computation needs, a scalable hierarchical version of complex network- based model can be instantiated by employing multiple isolated populations – or islands. This model is de- scribed in Figure 2. Here, the individuals in each of the islands are mapped on to a particular topology and the evolution of the algorithm takes place separately. It is possible to tune each of the islands with the same or with different parameters settings, according to the spe- cific distribution strategy implemented. Once the evolu- tionary algorithm is completed on the single computa- tion node, the front is sent to a central coordinator node which: (i) aggregates all the fronts; (ii) performs statis- tical analysis; and (iii) applies migrations of individuals belonging to different populations. Islands: evolution algorithm Coordination node: -Migration -Statistics Figure 2. The Hierarchical Complex Network Based Model. Such a model allows us to perform smart migrations and Offspring makes their implementation quite easy. In the next section, we will show how, given this distri- bution model, it is possible to rapidly prototype a dis- tributed implementation that takes advantage of the services of Enterprise Clouds. 4. Architecture 4.1. Design Considerations Offspring has been designed to support researchers in combinatorial optimization in quickly deploying their algorithms on a distributed computing infrastructure. In order to be effective the framework should require a minimum knowledge of Computing Grids and Enter- prise Clouds from users. The requirements for this class of applications are: (i) simplicity of use; (ii) rapid de- velopment of new heuristics; (iii) support for distrib- uted execution; and (iv) support for result analysis. In the following, we will show how Offspring ad- dresses these issues by describing its architecture and the main features of the system. 1. P[0] = a1[0], …, an[0] /* initialization */ 2. while not stop condition S is met do 2.1 generate a new population P[t] by using: mutation and recombination 2.2 evaluate the set of solutions 2.3 compute S t = t + 1 endwhile Figure 1. Genetic Algorithms.
  • 4. Plug-in Problem Algorithm Information Distribution Strategy Distribution Engine Control Endpoints Visualizers Aneka Scheduler Offspring GUI cluster HP PC HP PC CS Labs PCs Desktop PC Aneka Enterprise Cloud Plug-in Problem Algorithm Information Distribution Strategy Distribution Engine Control Endpoints Visualizers Aneka Scheduler Offspring GUI cluster HP PC HP PC CS Labs PCs Desktop PC Aneka Enterprise Cloud Plug-in Problem Algorithm Information Distribution Strategy Distribution Engine Control Endpoints Visualizers Problem Algorithm Information Distribution Strategy Distribution Engine Control Endpoints Visualizers Aneka Scheduler Offspring GUI cluster HP PC HP PC CS Labs PCs Desktop PC Aneka Enterprise Cloud Figure 3. System Architecture. 4.2. System View Offspring delivers to users (i) an environment through which run, monitor, and control distributed applications; (ii) a thin distribution middleware that takes care of interacting with the Enterprise Cloud; and (iii) a refer- ence model for implementing such applications. The environment is fully customizable by using plug-ins that: (i) expose control endpoints in order to let the environment and the user visually control the execution of the algorithm; (ii) embed a distribution engine in charge of controlling the execution of the application; (iii) provide the user interface support for configuring and monitoring the execution of the application. The environment is able to load and manage multiple plug- ins and multiple applications at the same time. Offspring provides two different integration models for building distributed applications: It is possible to develop a complete plug-in and then taking a finer control on how the environ- ment interacts with the Cloud. It is possible to simply define distribution logic of the application, which provides to the envi- ronment the task that need to be executed at each of the iterations. The first approach is more powerful but requires the users to know the APIs exposed by the Enterprise Cloud. The second approach makes the use of the Cloud completely transparent to the users and hence has been chosen for developing the distributed meta- heuristic discussed in this work. 4.3. Aneka Offspring relies on Aneka [22] to distribute the compu- tation of applications. Initially Aneka developed as a third generation grid technology in .NET environments. The recent advancement of Aneka introduced several new Cloud computing capabilities, such as SLA ori- ented resource allocation and the MapReduce pro- gramming model [23]. The main features of the plat- form are (i) a configurable service container hosting pluggable services for discovering, scheduling, and balancing workload; and (ii) a flexible and extensible framework/API supporting a variety of programming models such as threading, batch processing, and MapReduce. These features allow the system adminis- trator to fine tune the installation of Aneka by carefully selecting the resources to use on each computational node. From the developer’s point of view, Aneka pro- vides a rich programming interface that allows enabling applications with support for Cloud computing quickly. Developers can choose between different execution models and select the abstraction that better fit their needs. The distribution model of Offspring has been im- plemented on top of the Task Model. The Task Model is the easiest and the most general programming model supported by Aneka. It provides ready to use task classes for executing legacy code and a minimal inter- face for programming tasks. By using the Task Model, is possible to quickly parallelize legacy applications, or to write simple distributed applications with almost no knowledge of the distribution middleware. The use of the Aneka Task Model together with the plug-in archi- tecture offered by Offspring allows the development of distributed metaheuristics without requiring users to know Aneka APIs: the Offspring environment takes care of interacting with Aneka, and by using the distri- bution logic defined by the user executes the distributed meta-heuristic.
  • 5. IOffspringTask + Execute(): void IOffspringStrategy + Init(): void + NextIteration(): bool + NextTask(): IOffspringTask + OnSuccess(IOffspringTask task): void + OnFailure(IOffspringTask task): IOffspringTask + Release(bool bStopRequested): void + GetPipe(): IDataPipe - Complete: bool - IterationComplete: bool - Dependencies: List<AssemblyName> EMOStrategy IOffspringStrategy…. IDataPipe EMOTask - Inputs: InputData - Outputs: OutputData - Executable: byte[] - ExitCode: int - Timing: + Execute(): void IOffspringTask EMODataPipe IDataPipe- Front: List<Individual> - Archive: List<Individual> StrategyController - Connection: GridConnection - DistributionStrategy: IOffspringStrategy + Start(): void + Stop(): void IOffspringTask + Execute(): void IOffspringStrategy + Init(): void + NextIteration(): bool + NextTask(): IOffspringTask + OnSuccess(IOffspringTask task): void + OnFailure(IOffspringTask task): IOffspringTask + Release(bool bStopRequested): void + GetPipe(): IDataPipe - Complete: bool - IterationComplete: bool - Dependencies: List<AssemblyName> EMOStrategy IOffspringStrategy…. EMOStrategy IOffspringStrategy…. IDataPipeIDataPipe EMOTask - Inputs: InputData - Outputs: OutputData - Executable: byte[] - ExitCode: int - Timing: + Execute(): void IOffspringTask EMOTask - Inputs: InputData - Outputs: OutputData - Executable: byte[] - ExitCode: int - Timing: + Execute(): void IOffspringTask EMODataPipe IDataPipe- Front: List<Individual> - Archive: List<Individual> EMODataPipe IDataPipe- Front: List<Individual> - Archive: List<Individual> StrategyController - Connection: GridConnection - DistributionStrategy: IOffspringStrategy + Start(): void + Stop(): void StrategyController - Connection: GridConnection - DistributionStrategy: IOffspringStrategy + Start(): void + Stop(): void Figure 4. Offspring Strategy and EMO++ Class Diagram. 5. Implementation 5.1. From EMO to EMO++ The reason for porting the EMO algorithm to a distrib- uted version is twofold. On one side, we wanted to be able to run the algorithm with a reasonable number of individuals in order to take advantage of the network- based model. On the other side we wanted to apply smart migration strategies among different population of individuals which evolved by using different net- work topologies. Hence, we did not need to change the structure of the algorithm but simply put a coordination strategy on top of it, which distributed the computation, evaluated results, and took decisions for the next macro iteration. Figure 4 describes the object model exposed by Off- spring for implementing population-based metaheuris- tics together with the implementation provided for EMO++. A strategy provides a collection of tasks that are executed on the distribution middleware by the strategy controller. In order to implement the EMO++ metaheuristic we defined a concrete class for the strat- egy (EMOStrategy), for the single task (EMOTask), and provided support for data visualization (EMO- DataPipe). In this section, we will describe how these components interact together. 5.2. Remote Node Execution For what concerns the execution of EMO on the single node, there are no special requirements. It is only nec- essary to start the EMO algorithm with the proper input and configuration parameters and collect the results of execution. Given this, the implementation of the EMO- Task class consists of a very thin software layer that performs the following operations: (i) retrieves the in- put files and executable for the execution; (ii) starts a process and run the EMO application; (iii) waits for the termination and collects the results generated. The amount of code required to perform these op- erations in C# does not exceed the body the Execute method of the IOffspringTask interface. The actual im- plementation provides some utility methods to monitor and control more accurately the execution but does not change the essence of the execution. 5.3. Implementing the Distribution Strategy The concrete implementation of the strategy is defined in the EMOStrategy class that defines the distribution and coordinating logic of our metaheuristic. It provides the tasks that will be executed by means of Strategy- Controller on Aneka. It controls the evolution of each of the iterations, merges the results obtained by the execution of tasks, and performs statistical analysis of data. In Figure 5 we can see the interaction between the StrategyController and the EMOStrategy at runtime. The main execution flow is characterized by a sequence of iterations, and for each of the iterations the controller queries the strategy for a task to be executed. This exe- cution model perfectly fits population-based metaheu- ristics, which are characterized by an iterative behavior. For what concerns network-based model of EMO, it is possible to distribute the computation of each of the iterations by taking advantage of the topology informa- tion connecting individuals. In this way, we can easily create a task for each group of individuals connected together. Since the execution of EMO on the single node is driven by topology information, it is not
  • 6. Init Application Init Strategy Submit Tasks Wait Complete? Or Stop? Release Strategy Shutdown Application Task Failed? Invoke OnSuccess Invoke OnFailed New Task? Submit Iteration Complete?signal Control Thread Task Feedback Monitoring Thread no no no yes yes yes yesno Init Application Init Strategy Submit Tasks Wait Complete? Or Stop? Release Strategy Shutdown Application Task Failed? Invoke OnSuccess Invoke OnFailed New Task? Submit Iteration Complete?signal Control Thread Task Feedback Monitoring Thread no no no yes yes yes yesno Figure 5. Strategy Execution. necessary to have the complete population running on the single node but only the connected individuals. The StrategyController class authenticates with Aneka by using the credential obtained from the Off- spring environment, initializes the distributed applica- tion, and then the strategy. During initialization, the strategy configures the initial population, and prepares the common data for each task, such as the executable running defining the EMO algorithm. The main loop of the controller executes the iterations until the strategy does not set its Complete property to true. For each of the iterations the controller repeatedly asks new tasks to execute until the strategy provides a null task. The controller then puts itself in waiting mode. At the same time, a monitoring thread is responsible of collecting the tasks that completed their execution andaccord- ing to their statusof forwarding them to the strategy. The strategy merges the front with the current active front and updates statistics. For each task collected, the controller queries the strategy in order to know whether the current iteration has completed or not. If the itera- tion is completed the control thread is woken up and the execution proceeds to the next iteration. This architecture concentrates within the strategy controller concurrency and distributed middleware management by keeping the definition of a strategy simple and only concerned with the implemented algo- rithm. The plug-in architecture previously described makes the integration with Offspring straightforward. This is done just by deploying the library containing the strategy definition and the executable of the EMO algorithm in the plug-in directory of the environment. 6. Performance Considerations In order to evaluate our model, we conducted an ex- periment in the Computer Science department at the University of Melbourne. The Enterprise Cloud of the department is composed of one scheduler node (Dell OPTIPlex GX 270 Pentium IV 3.00 GHz, 3.25 Gb of RAM running Windows XP SP2 and .NET 2.0) and 33 computing nodes (Dell OPTIPlex GX 2f0 Pentium IV 3.40 GHz, 1.5 G of RAM running Windows XP SP2 and .NET 2.0). The Cloud resources are located into three different student laboratories connected by a 100 MB switched LAN. For what concerns the configura- tion of Aneka, the scheduler and the computing nodes have been set up to support the Task and the Thread programming model. In order to test the gain obtained by the aggregate computing power of the system we executed a test suite of benchmark problems (ZDT1–ZDT6 and DLTZ1– DLTZ6) with different number of individuals and a fixed number of iterations. The numbers of individuals tested are 100, 300, 500, 1000, while the number of iterations used has been kept constant to 100. In order to compare the timing data of the serial execution with the timing data of the distributed execution we adopted the following convention: for a given serial run charac- terized by X individuals, we set up a distributed run that creates 10 islands with X divided by 10 individuals each. Figure 6 shows the speed up obtained by using the distributed version compared to the serial execution. As we can notice, there is no advantage in executing the distributed version when the total number of indi-
  • 7. viduals is 100. The only two benchmark problems that are actually solved faster are DTLZ4 and DTLZ6, which are the most compute intensive. With a number of 300 individuals, we have a positive speed up for all the benchmark problems, but the only two problems that have super linear speed up are DTLZ4 and DTLZ6. With a number of individuals equal 500, all the DTLZ problems have a super linear speed up. Figure 6. Speed up Gain. We also measured the overhead introduced by Aneka and Offspring for each of the iterations of the algorithm. The overhead has been computed by consid- ering the time spent from the creation of the task and the collection of its results. This value has been then compared with pure execution time of the EMO algo- rithm recorded on the computing node. Figure 7. Distribution Overhead. Figure 7 confirms the results obtained for the speed up. As it can be noticed, when the total number of indi- viduals is 100, the average distribution overhead is about 85% of the whole execution time, and this ex- plains why for that number of individuals we have a negative speed up. With the increase of the number of individuals, the average overhead decreases and falls below 6% of the whole computation time for popula- tions composed by 1000 individuals. The tests performed on the EMO++ plug-in demon- strate that there is a continuous increase in the execu- tion speed up as the number of individuals increases. We also identified the lower bound of 100 individuals, under which the distribution infrastructure provided by Offspring does not provide any advantage. The reason why we have such a slow performance with 100 indi- viduals is that the distribution overhead is the same order of magnitude of the execution on the local ma- chine. In the case of network-based evolutionary algo- rithms this is not an issue, because this class of algo- rithms, in order to take advantage of the connection between individuals, requires a minimum population size that is at least ten times bigger 100 individuals. 7. Conclusion and Future Works In this paper, we presented the approach proposed by Offspring for distributed multi objective evolutionary algorithms on Enterprise Clouds. The aim of Offspring is to minimize the code required to provide a distrib- uted implementation of a population based metaheuris- tics without requiring the researchers to know distribu- tion middleware APIs. Few still active frameworks have such level of abstraction and none of them relies on Enterprise Clouds. This is what motivated the au- thors to implement a new framework. A specific em- phasis has been put in providing high degree of flexi- bility, ease of use, and rapid prototyping features. The most appropriate approach for delivering such support is by using plug-in architecture APIs allowing third parties to implement new solution without knowing the detail of the entire code-base. The effectiveness of Offspring has been tested by deploying EMO++, a distributed implementation of EMO. EMO++ is a port of a real world network basedand computationally intensivepopulation metaheuristic. It keeps information about the connec- tions among individuals and exploits them to evolve the population towards a better solution. This class of algorithms requires a large number of individuals in order to be effective and for this reason, it constitutes the perfect candidate for a distributed implementation and deployment with Offspring. We developed EMO++ as a strategy for Offspring and made some preliminary tests. Results show that the model pro- posed by Offspring is effective when there is a real need for a distributed implementation. In order to be effective network based evolutionary algorithms re- quire at least 1000 individuals and the model proposed by Offspring provides an increasing speed up when the Distribution Overhead 0 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 100 300 500 1000 Individuals ZDT1 ZDT2 ZDT3 ZDT4 ZDT5 ZDT6 DLTZ1 DLTZ2 DLTZ3 DLTZ4 DLTZ5 DLTZ6 Overhead Speed Up 0.1 1 10 100 100 300 500 Individuals Speed up (log10) ZDT1 ZDT2 ZDT3 ZDT4 ZDT5 ZDT6 DLTZ1 DLTZ2 DLTZ3 DLTZ4 DLTZ5 DLTZ6
  • 8. number of individuals is only 300. A preliminary analysis of the overhead introduced by Offspring and the Cloud middleware used shows encouraging results for large population sizes. We can then conclude that in this case the distribution infrastructure provided by Offspring does not affect the performance. To the best of our knowledge Offspring is unique in its nature, even though is still missing some important features if compared with other solutions. In particular, support for built-in statistical analysis that is something that still need to be implemented in plug-ins. 8. References [1] C.C. Coello, D.V. Veldhuizen, and G.B. Lamont, EA for Solving Multi-Objective Problems, Kluwer, 2002. [2] D.A.V. Veldhuizen, J.B. Zydallis, G.B. Lamont, “Con- siderations in engineering parallel multiobjective evolution- ary algorithms”, IEEE Trans. Evol. Comput. vol. 7, pp. 144– 173, 2003. [3] M. Kirley and R. Stewart, “An analysis of the effects of population structure on scalable multiobjective optimization problems”, in Proc. of the 9th annual conference on Genetic and evolutionary computation (GECCO-2007), ACM Press, London, July, 2007, pp. 845–852. [4] M. Kirley, and R. Stewart, “Multiobjective evolutionary algorithms on complex networks”, in Proc. of the Fourth International Conference on Evolutionary Multi-Criterion Optimization, Lecture Notes Computer Science 4403, Springer Berlin, Heidelberg, 2007, pp. 81–95. [5] R. Buyya, C.S. Yeo, and S. Venugopal, S., “Market- Oriented Cloud Computing: Vision, Hype, and Reality for Delivering IT Services as Computing Utilities”, Keynote Paper, in Proc. of the 10th IEEE International Conference on High Performance Computing and Communications (HPCC 2008), IEEE CS Press, Los Alamitos, CA, USA, Sept. 25–27, 2008. [6] E. Alba, Parallel Metaheuristics: A New Class of Algo- rithms, Wiley, 2005. [7] E. Cantú-Paz, Efficient and Accurate Parallel Genetic Algorithms, Kluwer Academic Publisher, Boston, MA, 2000. [8] E. Alba, A.J. Nebro, and J.M. Troya, “Heterogeneous Computing and Parallel Genetic Algorithms”, Journal of Parallel and Distributed Computing, vol. 62, pp. 1362–1385, 2002. [9] A. Luther, R, Buyya, R. Ranjan, and S. Venugopal, “Al- chemi: A .NET-Based Enterprise Grid Computing System”, Proc. of the 6th International Conference on Internet Com- puting (ICOMP'05), CSREA Press, Las Vegas, USA, 2005. [10] J. Frey, T. Tannenbaum, M. Livny, I. Foster, and S. Tuecke, “Condor-G: A Computation Management Agent for Multi-Institutional Grids”, Cluster Computing, Volume 5(3), pp. 237–246, 2004. [11] I. Foster and C. Kesselman, “Globus: A Toolkit-Based Grid Architecture”, Foster, I. and Kesselman, C. eds., The Grid: Blueprint for a New Computing Infrastructure, Mor- gan Kaufmann, 1999, pp. 259–278. [12] R. Buyya, D. Abramson, J. Giddy, “Nimrod/G: An Ar- chitecture for a Resource Management and Scheduling Sys- tem in a Global Computational Grid”, in Proc. of the HPC ASIA’2000, the 4th International Conference on High Per- formance Computing in Asia-Pacific Region, IEEE Com- puter Society Press, USA, 2000. [13] S. Venugopal, R. Buyya, and L. Winton, “A Grid Ser- vice Broker for Scheduling e-Science Applications on Global Data Grids”, Concurrency and Computation: Practice and Experience, vol. 18(6), pp. 685–699, Wiley Press, New York, USA, May, 2006. [14] D. Abramson, A. Lewis, and T. Peachy, “Nimrod/O: A Tool for Automatic Design Optimization Using Parallel and Distributed Systems”, in Proc. 4th International Conference on Algorithms & Architectures for Parallel Processing (ICA3PP 2000), World Scientific, 2000. [15] S. Cahon, N. Melab, and E.-G. Talbi, “ParadisEO: A Framework for the Reusable Design of Parallel and Distrib- uted Metaheuristics”, Journal of Heuristics, vol. 10(3), pp. 357–380, May 2004. [16] M.G. Arenas, P. Collet, A.E. Eiben, M. Jelasity, J.J. Merelo, B. Paechter, M. Preuß, and M. Schoenauer, “A Framework for Distributed Evolutionary Algorithms”, in Proc. of the 7th International Conference on Parallel Prob- lem Solving from Nature (PPSN VII), Granada, September 2002. [17] K.A. De Jong, Evolutionary Computation: A Unified Approach, MIT Press, 2006. [18] J. Handl, D. Kell, and J. Knowles, “Multiobjective op- timization in computational biology and bioinformatics”, IEEE Transactions on Computational Biology and Bioin- formatics, vol. 4(2), pp. 279–292, 2007. [19] D. Lim, Y.S. Ong, Y. Jin, B. Sendhoff, and B.S. Lee, “Efficient Hierarchical Parallel Genetic Algorithms Using Grid Computing”, Future Generation Computer Systems, vol. 23(4), pp. 658–670, Elsevier, 2007. [20] S. Dorogovtsev and J. Mendes, Evolution of Networks: From Biological Nets to the Internet and WWW, Oxford University Press, Oxford, 2003. [21] E. Zitzler and L. Thiele, “Multiobjective evolutionary algorithms: A comparative case study and the strength pareto approach”, IEEE Transactions on Evolutionary Computation, vol. 3(4), pp. 257–271, 1999. [22] X. Chu, K. Nadiminti, C. Jin, S. Venugopal, and R. Buyya, “Aneka: Next-Generation Enterprise Grid Platform for e-Science and e-Business Applications”, in Proc. of the 3rd IEEE International Conference on e-Science and Grid Computing, IEEE Computer Society Press, Los Alamitos, CS, 2007. pp. 151–159. [23] J. Dean and S. Ghemawat, “MapReduce: Simplified Data Processing on Large Clusters”. Presented at OSDI'04: Sixth Symposium on Operating System Design and Imple- mentation, San Francisco, CA, December, 2004.