Pool Evolution: A Parallel Pattern for Evolutionary and Symbolic Computing - Aldinucci, Marco; Campa, Sonia; Danelutto, Marco; Kilpatrick, Peter; Torquati, Massimo (International journal of parallel programming, 2016)
We introduce a new parallel pattern derived from a specific application domain and show how it turns out to have application beyond its domain of origin. The pool evolution pattern models the parallel evolution of a population subject to mutations and evolving in such a way that a given fitness function is optimized. The pattern has been demonstrated to be suitable for capturing and modeling the parallel patterns underpinning various evolutionary algorithms, as well as other parallel patterns typical of symbolic computation. In this paper we introduce the pattern, we discuss its implementation on modern multi/many core architectures and finally present experimental results obtained with FastFlow and Erlang implementations to assess its feasibility and scalability.