1. A PARALLEL IMPLEMENTATION OF A
MULTI-OBJECTIVE EVOLUTIONARY
ALGORITHM
ITAB 2009
Christos C. Kannas, Christos A. Nicolaou,
Constantinos S. Pattichis
University of Cyprus and Noesis Cheminformatics
11. METHODOLOGY
10/26/2011
Multi-objective Evolutionary Graph Algorithm (cont.)
6. Evolve Working
Parents Population
5. Select 1. Fitness
Parents Calculation
4.
2. Hard
Efficiency
Filter
Calculation
3. Pareto 11
Ranking
12. METHODOLOGY
10/26/2011
Parallel Multi-objective Evolutionary Algorithm
(PMEGA)
Python:
Threads Global Interpreter Lock (GIL).
Processes Spawning multiple processes (Our approach).
3rd Party add-ons, MPI4PY, PyCUDA, PyOpenCL.
Key facts:
A set of subpopulations. 2 subpopulations, although this is a
parameter that can change.
A pool of processes. 2 cores 2 processes for simultaneous
execution.
Execution path is the same as MEGA.
12
19. CONCLUSION
10/26/2011
Quality of solutions:
MEGA and PMEGA behave comparably. Using a better
way to split the subpopulations might result in better
results for PMEGA.
Execution time:
PMEGA 1.6 times faster than MEGA on a 2 core CPU.
19