Cellular EA

One of the big problems I’ve experienced with doing pipeline optimizations in a cluster is that it is not computationally efficient using a traditional genetic algorithm. The reason is that the entire cluster must wait while the longest running evaluations for a generation complete, which may take longer than 99% of the other individuals in that generation. The result is that a cluster might be 95% idle for significant periods of time.

Cellular EAs are a type of evolutionary algorithm that do not block. Mating occurs on a local neighborhood in an asynchronous fashion, which allows for full usage of cluster resources. I’ve added an initial grid based cEA to Inspyred and have added support for this algorithm to the mnist sample in pyvotune.

cEA fork of inspyred @ https://github.com/aelaguiz/inspyred

PyvoTune @ https://github.com/aelaguiz/pyvotune