Parallel GA Implementation
As a first implementation of a parellel GA a simple GA was produced that worked on the one-max problem.
This involves a master and a set of slaves.
The master does all the standard GA operators, but when evaluating the population it sends out the individuals to slave processes to be evaluated in parellel.
Since the evaluation is the bottle neck of performance (more then 99.9%), and evaluations can be performed entirely intependently one can achieve linear speedup with a minimal of work.
The work is distributed on a first come-first serve basis. Indviduals are sent to any uncuppied slave. More complicated schemes could reduce the overhead cost of transmitting data, but the performance gain would be negligable considering the cost of evaluation.
The architecture being used is below.
Master Flow Chart
Slave Flow Chart
Yan Ha Chris Miles