On Mar 24, 2011, at 1:26 PM, Nikola N. wrote:
> At some point of time all the threads are running, at some point
> only single
> thread is running by the slave.
Well, keep in mind that the Slave has to read in Individuals from the
stream before it can start working on them (in the "evolve" mode I
suggested to you). This means that in a single thread it's sitting
there waiting for all the Individuals to be sent over the stream, and
only then does it begin evaluating them in a multithreaded fashion.
If your evaluation is expensive with respect to network transfer
(which is usually the case for situations where distributed EC makes
sense) then most of your time will be spent in the multithreaded
At the very least if I can get to whipping up the multithreaded
"standard" slave evaluation (non-"evolve" mode) we can set it up so
that as soon as an Individual is read in it immediately begins
evaluation. But even so there will be a period of time when the
fitnesses are sent back that things are gonna be in single threaded
mode for a bit. There's just no way around it short of constructing
an asynchronous response.