Skip to main content
Log in

Simdist: a distribution system for easy parallelization of evolutionary computation

  • Original paper
  • Published:
Genetic Programming and Evolvable Machines Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. Interestingly, this is also mentioned in the preface to the 1992 edition of [15].

  2. Thus far, Simdist has successfully been used with C++, Lisp, Python, Matlab, bash shell scripts, and the Breve physics simulator.

  3. 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.

  4. Technically, the slave also multiplies the wait time with the job grouping size, as described in the next section.

  5. Simdist = Simulation Distributor; “simdist” on the command line. Note that the slaves are not SIMD, but rather their derivative [17] SPMD [8].

References

  1. 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

  2. S. Cahon, N. Melab, E.-G. Talbi, Building with ParadiseEO reusable parallel and distributed evolutionary algorithms. Parallel Comput. 30(5–6), 677–697 (2004a)

    Article  Google Scholar 

  3. 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)

    Article  Google Scholar 

  4. 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

  5. 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

    Google Scholar 

  6. E. Cantú-Paz, Efficient and Accurate Parallel Genetic Algorithms, Chap. 3 (Kluwer Academic, Boston, MA, 2000) (Genetic algorithms and evolutionary computation), pp. 33–48

  7. 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.]

    Article  Google Scholar 

  8. 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)

  9. 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

  10. 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

  11. A.E. Eiben, J.E. Smith, Introduction to Evolutionary Computing (Springer, Berlin, 2003)

    MATH  Google Scholar 

  12. 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)

    MATH  Google Scholar 

  13. 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

  14. 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

  15. J.H. Holland, Adaptation in Natural and Artifical Systems (MIT Press, Cambridge, 1992)

    Google Scholar 

  16. 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)

  17. C. Hughes, T. Hughes, Parallel and Distributed Programming Using C++ (Prentice Hall, Upper Saddle River, 2004)

    Google Scholar 

  18. 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)

  19. 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

  20. 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

    Google Scholar 

  21. 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

    Google Scholar 

  22. Message Passing Interface Forum, MPI: A Message-Passing Interface Standard. Technical reports, University of Tennessee, Knoxville, TN, USA (1994)

  23. PBS GridWorks, PBS Professional and OpenPBS (2009), http://www.pbsgridworks.com/, accessed April 20, 2009

  24. 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

    Google Scholar 

  25. K. Stanley, R. Miikkulainen, Evolving neural networks through augmenting topologies. Evol. Comput. J. 10(2), 99–127 (2002)

    Article  Google Scholar 

  26. K.O. Stanley, R. Miikkulainen, A taxonomy for artificial embryogeny. Artif. Life 9(2), 93–130 (2003)

    Article  Google Scholar 

  27. D. Thain, T. Tannenbaum, M. Livny, Distributed computing in practice: the Condor experience. Concurrency Pract. Exp. 17(2–4), 323–356 (2005)

    Google Scholar 

  28. 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)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Boye Annfelt Høverstad.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10710-009-9100-7

Keywords

Navigation