10.2.1.1. Parallelism
Uranie’s EGO provides an asynchronous parallelism. With n resources, synchronous parallelism generates n items, evaluates them and waits for all results and iterates. In asynchronous parallelism, when a result comes, a new item is generated which takes into account the n-1 evaluations in progress.
Usually a new point generation is not expensive and the resource that finishes its evaluation usually waits for it. It is not the case for EGO. To avoid wasting computation time, different approaches are implemented:
the next point is generated before getting the evaluation result back (and so with n ongoing evaluations instead of n-1)
after a point generation, if more than one evaluation are available, we get all results back, and if the solver afford to do so, we generate few points to be evaluated.
otherwise, if no evaluation is available, the search of next attractive points are extended to try to improve them.