Abstract
This article introduces Simdist, a software tool for parallel execution of evolutionary algorithms (EAs) in a master-slave configuration on cluster architectures. Clusters have become a cost-effective parallel solution, and the potential computational capabilities are phenomenal. However, the transition from traditional R&D on a personal computer to parallel development and deployment can be a major step. Simdist simplifies this transition considerably, by separating the task of distributing data across the cluster network from the actual EA-related processing performed on the master and slave nodes. Simdist is constructed in the vein of traditional Unix command line tools; it runs in a separate process and communicates with EA child processes via standard input and output. As a result, Simdist is oblivious to the programming language(s) used in the EA, and the EA is similarly oblivious to the internals of Simdist.
Similar content being viewed by others
Notes
Interestingly, this is also mentioned in the preface to the 1992 edition of [15].
Thus far, Simdist has successfully been used with C++, Lisp, Python, Matlab, bash shell scripts, and the Breve physics simulator.
The parallelization features of the software packages described here are generally poorly documented, and most of the descriptions here are inferences drawn from studying the available source code of the respective software packages. Misinterpretations may have occurred.
Technically, the slave also multiplies the wait time with the job grouping size, as described in the next section.
References
D. Abramson, J. Giddy, L. Kotler, High performance parametric modeling with Nimrod/G: Killer application for the global grid. in Proceedings of the 14th International Parallel and Distributed Processing Symposium (IEEE Computer Society, Washington, 2000), pp. 520–528
S. Cahon, N. Melab, E.-G. Talbi, Building with ParadiseEO reusable parallel and distributed evolutionary algorithms. Parallel Comput. 30(5–6), 677–697 (2004a)
S. Cahon, N. Melab, E.-G. Talbi, ParadisEO: a framework for the reusable design of parallel and distributed metaheuristics. J. Heuristics 10(3), 357–380 (2004b)
E. Cantú-Paz, A survey of parallel genetic algorithms. Tech. Rep. 95007, Illinois Genetic Algorithms Laboratory (IlliGAL), University of Illinois at Urbana-Champaign (1997). http://www.illigal.uiuc.edu/pub/papers/IlliGALs/97003.ps.Z
E. Cantú-Paz, Topologies, migration rates, and multi-population parallel genetic algorithms. in GECCO, ed. by W. Banzhaf, J.M. Daida, A.E. Eiben, M.H. Garzon, V. Honavar, M.J. Jakiela, R.E. Smith (Morgan Kaufmann, Los Altos, 1999), pp. 91–98
E. Cantú-Paz, Efficient and Accurate Parallel Genetic Algorithms, Chap. 3 (Kluwer Academic, Boston, MA, 2000) (Genetic algorithms and evolutionary computation), pp. 33–48
L. Dagum, R. Menon, OpenMP: an industry standard api for shared-memory programming. Comput. Sci. Eng. IEEE 5(1), 46–55 (1998). doi:10.1109/99.660313 [see also Comput. Sci. Eng.]
F. Darema, The SPMD model: past, present and future. in Proceedings of the 8th European PVM/MPI Users’ Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface (2001)
J. Dongarra, T. Sterling, H. Simon, E. Strohmaier, High-performance computing: clusters, constellations, MPPs, and future directions. Comput. Sci. Eng. 7(2), 51–59 (2005). http://www.link.aip.org/link/?CSX/7/51/1
K.L. Downing, Supplementing evolutionary developmental systems with abstract models of neurogenesis. in GECCO ’07: Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation (ACM Press, New York, 2007), pp. 990–996. doi:http://www.doi.acm.org/10.1145/1276958.1277157
A.E. Eiben, J.E. Smith, Introduction to Evolutionary Computing (Springer, Berlin, 2003)
A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, V. Sunderam, PVM: Parallel Virtual Machine: A Users’ Guide and Tutorial for Networked Parallel Computing (MIT Press, Cambridge, 1994)
W. Gropp, E. Lusk, Goals guiding design: PVM and MPI. in CLUSTER ’02: Proceedings of the IEEE International Conference on Cluster Computing (IEEE Computer Society, Washington, 2002), p. 257
Y. He, C.H.Q. Ding, MPI and OpenMP paradigms on cluster of SMP architectures: the vacancy tracking algorithm for multi-dimensional array transposition. in Supercomputing ’02: Proceedings of the 2002 ACM/IEEE Conference on Supercomputing (IEEE Computer Society Press, Los Alamitos, 2002), pp. 1–14
J.H. Holland, Adaptation in Natural and Artifical Systems (MIT Press, Cambridge, 1992)
B.A. Høverstad, On the effect of network modularity on evolutionary search. in CEC ’09: Proceedings of the IEEE Congress on Evolutionary Computation (2009)
C. Hughes, T. Hughes, Parallel and Distributed Programming Using C++ (Prentice Hall, Upper Saddle River, 2004)
M. Keijzer, J. Merelo, G. Romero, M. Schoenauer, Evolving Objects: a general purpose evolutionary computation library. in EA-01, Evolution Artificielle, 5th International Conference in Evolutionary Algorithms (2001)
J. Klein, Breve: a 3D environment for the simulation of decentralized systems and artificial life. in Proceedings of the Eighth International Conference on Artificial Life (The MIT Press, Cambridge, 2002), pp. 329–334
G. Luque, E. Alba, B. Dorronsoro, Parallel genetic algorithms. in Parallel Metaheuristics: A New Class of Algorithms, ed. by E. Alba (Wiley-Interscience, London, 2005), pp. 107–125
W.N. Martin, J. Lienig, J.P. Cohoon, Island (migration) models: evolutionary algorithms based on punctuated equilibria. in Handbook of Evolutionary Computation, ed. by T. Bäck, D.B. Fogel, Z. Michalewicz (Institute of Physics Publishing and Oxford University Press, Bristol, 1997), pp. C6.3:1–16
Message Passing Interface Forum, MPI: A Message-Passing Interface Standard. Technical reports, University of Tennessee, Knoxville, TN, USA (1994)
PBS GridWorks, PBS Professional and OpenPBS (2009), http://www.pbsgridworks.com/, accessed April 20, 2009
C.C. Pettey, Diffusion (cellular) models. in Handbook of Evolutionary Computation, ed. by T. Bäck, D.B. Fogel, Z. Michalewicz (Institute of Physics Publishing and Oxford University Press, Bristol, 1997), pp. C6.4:1–6
K. Stanley, R. Miikkulainen, Evolving neural networks through augmenting topologies. Evol. Comput. J. 10(2), 99–127 (2002)
K.O. Stanley, R. Miikkulainen, A taxonomy for artificial embryogeny. Artif. Life 9(2), 93–130 (2003)
D. Thain, T. Tannenbaum, M. Livny, Distributed computing in practice: the Condor experience. Concurrency Pract. Exp. 17(2–4), 323–356 (2005)
D. Whitley, S. Rana, R.B. Heckendorn, The island model genetic algorithm: on separability, population size and convergence. in Proceedings of the AISB Workshop on Evolutionary Computation (1997)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Høverstad, B.A. Simdist: a distribution system for easy parallelization of evolutionary computation. Genet Program Evolvable Mach 11, 185–203 (2010). https://doi.org/10.1007/s10710-009-9100-7
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10710-009-9100-7