Designing efficient master-slave parallel genetic algorithms

This paper considers the most simple type of parallel GA: a single-population master-slave implementation. In this class of parallel GAs a master process stores the population and executes selection, crossover, and mutation, while the slave processes perform the tness evaluations. Master-slave GAs have many advantages: they explore the search space in exactly the same manner as a serial GA, they are easy to implement, and signiicant performance improvements are possible in many cases. This paper shows how to determine the connguration which minimizes the execution time, and how to maintain the eeciency above a desired level. The long version (Cant u-Paz, 1997) has experiments which validate the accuracy of the models, and it shows how to hybridize master-slave with multi-population GAs. The analysis assumes that the algorithm is implemented on a distributed message-passing architecture, that the number of individuals assigned to each processor is constant, and also that the time to evaluate each individual is constant. The calculations ignore the time used by selection, crossover, and mutation, because we assume they are much smaller than the times used to evaluate and communicate individuals. The following calculations analyze the execution time during one generation. First, the master sends a fraction of the population to each of the S slaves, using time T c to communicate with each. Next, the master evaluates a fraction of the population using time T comp = nT f S+1 , where T f is the time required to evaluate one individual, and n is the size of the population. The slaves start evaluating their portion of the population as soon as they receive it, and return the evaluations to the master as soon as they nish. The last slave and the master n-ish the evaluation of their share at the same time, but there is a delay of time T c before the master receives the evaluations and can proceed. Considering all the contributions from communications and computations the total elapsed time for one generation is T tot = (S + 1)T c + nT f S + 1 : (1) As more slaves are used the computation time decreases as desired, but the communications time increases. To nd the optimal number of slaves, make @Ttot @S = 0 and solve for S to obtain S = r nT f T c ? 1: (2) Another concern when implementing parallel algorithms is to keep the processor …