Genetic Programming and Evolvable Machines

, Volume 15, Issue 3, pp 221–244 | Cite as

Designing robust volunteer-based evolutionary algorithms

  • J. L. J. LaredoEmail author
  • P. Bouvry
  • D. L. González
  • F. Fernández de Vega
  • M. G. Arenas
  • J. J. Merelo
  • C. M. Fernandes


This paper tackles the design of scalable and fault-tolerant evolutionary algorithms computed on volunteer platforms. These platforms aggregate computational resources from contributors all around the world. Given that resources may join the system only for a limited period of time, the challenge of a volunteer-based evolutionary algorithm is to take advantage of a large amount of computational power that in turn is volatile. The paper analyzes first the speed of convergence of massively parallel evolutionary algorithms. Then, it provides some guidance about how to design efficient policies to overcome the algorithmic loss of quality when the system undergoes high rates of transient failures, i.e. computers fail only for a limited period of time and then become available again. In order to provide empirical evidence, experiments were conducted for two well-known problems which require large population sizes to be solved, the first based on a genetic algorithm and the second on genetic programming. Results show that, in general, evolutionary algorithms undergo a graceful degradation under the stress of losing computing nodes. Additionally, new available nodes can also contribute to improving the search process. Despite losing up to 90 % of the initial computing resources, volunteer-based evolutionary algorithms can find the same solutions in a failure-prone as in a failure-free run.


Evolutionary computation Distributed algorithms Fault tolerance Genetic programming Genetic algorithms Volunteer computing Peer-to-peer Desktop grid 



We would like to thank Claudia Höfer for proofreading this manuscript. This work was supported by the Luxembourg FNR Green@Cloud project (INTER/CNRS/11/03) and by the Spanish Ministry of Science Project (TIN2011-28627-C04).


  1. 1.
    D.H. Ackley, A connectionist machine for genetic hillclimbing. (Kluwer Academic Publishers, Norwell, MA, 1987)CrossRefGoogle Scholar
  2. 2.
    E. Alba, M. Tomassini, Parallelism and evolutionary algorithms. IEEE Trans. Evol. Comput. 6(5), 443–462 (2002)CrossRefGoogle Scholar
  3. 3.
    D. Anderson, BOINC: a system for public-resource computing and storage. In: Grid Computing, 2004. Proceedings. Fifth IEEE/ACM International Workshop on (2004), pp 4–10Google Scholar
  4. 4.
    D.P. Anderson, J. Cobb, E. Korpela, M. Lebofsky, D. Werthimer, SETI@home: an experiment in public-resource computing. Commun. ACM 45(11), 56–61 (2002). doi: 10.1145/581571.581573 CrossRefGoogle Scholar
  5. 5.
    M.G. Arenas, P. Collet, A.E. Eiben , M. Jelasity, J.J. Merelo, B. Paechter, M. Preu  M. Schoenauer, A framework for distributed evolutionary algorithms. In: Proceedings of the 7th International Conference on Parallel Problem Solving from Nature. (Springer, London, UK 2002), PPSN VII, pp 665–675.
  6. 6.
    M.G. Arenas, J.J. Merelo, A.M. Mora, P.A. Castillo, G. Romero, J.L.J. Laredo, Assessing speed-ups in commodity cloud storage services for distributed evolutionary algorithms. In: IEEE Congress on Evolutionary Computation, IEEE. (2011), pp 304–311Google Scholar
  7. 7.
    B. Bánhelyi, M. Biazzini, A. Montresor, M. Jelasity, Peer-to-peer optimization in large unreliable networks with branch-and-bound and particle swarms. In: Giacobini M, Brabazon A, Cagnoni S, Di Caro G, Ekárt A, Esparcia-Alcázar A, Farooq M, Fink A, Machado P (eds) Applications of Evolutionary Computing, Lecture Notes in Computer Science, vol 5484. (Springer, Berlin, 2009), pp. 87–92.Google Scholar
  8. 8.
    M. Biazzini, A. Montresor, Gossiping differential evolution: A decentralized heuristic for function optimization in p2p networks. In: ICPADS, IEEE. (2010), pp 468–475Google Scholar
  9. 9.
    M. Biazzini, A. Montresor, p2poem: Function optimization in p2p networks. Peer-to-Peer Netw. Appl. 6(2), 213–232 (2013). doi: 10.1007/s12083-012-0152-8 CrossRefGoogle Scholar
  10. 10.
    S. Cahon, N. Melab, E.G. Talbi, An enabling framework for parallel optimization on the computational grid. In: Cluster Computing and the Grid, 2005. CCGrid 2005. IEEE International Symposium on, vol 2, (2005), pp 702–709. doi: 10.1109/CCGRID.2005.1558632
  11. 11.
    O. Derby, K. Veeramachaneni, U.M . O’Reilly, Cloud driven design of a distributed genetic programming platform. In: Esparcia-Alcázar A (ed) Applications of Evolutionary Computation, Lecture Notes in Computer Science, vol 7835. (Springer, Berlin, 2013), pp 509–518. doi: 10.1007/978-3-642-37192-9_51
  12. 12.
    T. Desell, B. Szymanski, C. Varela, An asynchronous hybrid genetic-simplex search for modeling the Milky Way galaxy using volunteer computing. In: Proceedings of the 10th annual conference on Genetic and Evolutionary Computation, ACM (2008), pp 921–928Google Scholar
  13. 13.
    T. Desell, M. Magdon-ismail, B. Szymanski, C. A, H. Newberg, D.P. Anderson, Validating evolutionary algorithms on volunteer computing grids. In: International conference on distributed applications and interoperable systems (2010), pp 29–41Google Scholar
  14. 14.
    C. Gagné, M. Parizeau, The master-slave architecture for evolutionary computations revisited. In: Proceedings of the Genetic and Evolutionary Computation Conference (Chicago, IL, 2003), pp 1578–1579Google Scholar
  15. 15.
    S. Ghosh, Distributed systems: an algorithmic approach. (Chapman & Hall/CRC, 2006)Google Scholar
  16. 16.
    P.B. Godfrey, I. Stoica, Heterogeneity and load balance in distributed hash tables. In: 24th Annual Joint Conference of the IEEE Computer and Communications Societies, vol 1 (2005), pp 596–606. doi: 10.1109/INFCOM.2005.1497926
  17. 17.
    D.L. Gonzalez, F. Fernández, Analyzing fault tolerance on parallel genetic programming by means of dynamic-size populations. In: Congress on Evolutionary Computation, vol 1, (Singapore, 2007), pp 4392–4398Google Scholar
  18. 18.
    D.L. Gonzalez, F. Fernández, H. Casanova, Characterizing fault tolerance in genetic programming. In: Workshop on Bio-Inspired Algorithms for Distributed Systems (Barcelona, Spain, 2009a), pp 1–10Google Scholar
  19. 19.
    D.L. Gonzalez, F. Fernández, L. Trujillo, G. Olague, L. Araujo, P.A. Castillo, J.J. Merelo, K. Sharman, Increasing gp computing power for free via desktop grid computing and virtualization. In: D.E. Baz, F. Spies, T. Gross (eds) PDP, IEEE Computer Society, (2009b), pp 419–423Google Scholar
  20. 20.
    D.L. Gonzalez, J.L.J. Laredo, F.F. de Vega, J.J. Merelo, Characterizing fault-tolerance of genetic algorithms in desktop grid systems. In: Cowling PI, Merz P (eds) EvoCOP, Springer, Lecture Notes in Computer Science, vol 6022, (2010), pp 131–142Google Scholar
  21. 21.
    I. Hidalgo, F. Fernández, J. Lanchares, D. Lombraña, Is the island model fault tolerant? In: Genetic and Evolutionary Computation Conference (London, England, 2007), vol 2, p 1519Google Scholar
  22. 22.
    M. Jelasity, M. van Steen, Large-scale newscast computing on the Internet. Tech. Rep. IR-503, Vrije Universiteit Amsterdam, Department of Computer Science, Amsterdam, The Netherlands, (2002).
  23. 23.
    Karafotias G, Haasdijk E, Eiben AE An algorithm for distributed on-line, on-board evolutionary robotics. In: Proceedings of the 13th annual conference on Genetic and evolutionary computation, ACM (New York, NY, USA, GECCO ’11, 2011), pp 171–178. doi: 10.1145/2001576.2001601
  24. 24.
    D. Kondo, G. Fedak, F. Cappello, A. Chien, H. Casanova, Characterizing resource availability in enterprise desktop grids. Future Gener. Comput. Syst. 23(7), 888–903 (2007)CrossRefGoogle Scholar
  25. 25.
    J.R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection. (MIT Press, Cambridge, MA, 1992)zbMATHGoogle Scholar
  26. 26.
    J.L.J. Laredo , Castillo PA, Mora AM, Merelo JJ (2008a) Exploring population structures for locally concurrent and massively parallel evolutionary algorithms. In: IEEE Congress on Evolutionary Computation (CEC2008), WCCI2008 Proceedings, IEEE Press, Hong Kong, pp 2610–2617Google Scholar
  27. 27.
    J.L.J. Laredo, Castillo P.A, Mora A.M, Merelo J.J, Fernandes C, Resilience to churn of a peer-to-peer evolutionary algorithm. Int J High Performance Systems Architecture 1(4), 260–268, (2008b). doi: 10.1504/IJHPSA.2008.024210
  28. 28.
    J.L.J. Laredo, A.E. Eiben, van M. Steen, J.J. Merelo, Evag: a scalable peer-to-peer evolutionary algorithm. Genet. Program Evolvable Mach. 11(2), 227–246 (2010)CrossRefGoogle Scholar
  29. 29.
    J.L.J. Laredo, P. Bouvry, S. Mostaghim, J.J. Merelo, Validating a peer-to-peer evolutionary algorithm. In: et al CDC (ed) EvoApplications (Springer, 2012) Lecture Notes in Computer Science, vol 7248, pp 436–445Google Scholar
  30. 30.
    D. Lim, Y. soon Ong, A.B. sungLee, Efficient hierarchical parallel genetic algorithms using grid computing. Future Gener. Comput. Syst. 23(4), 658–670 (2007)CrossRefGoogle Scholar
  31. 31.
    E. Montero, M.C. Riff, On-the-fly calibrating strategies for evolutionary algorithms. Information Sciences 181(3), 552–566 (2011). doi: 10.1016/j.ins.2010.09.016, Google Scholar
  32. 32.
    U.M. O’Reilly, M. Wagy, B. Hodjat et al., EC-Star: A Massive-Scale, Hub and Spoke, Distributed Genetic Programming System. In: R. Riolo (eds) Genetic Programming Theory and Practice X, Genetic and Evolutionary Computation, (Springer, Science + Business Media, New York, 2013) pp. 73–85.CrossRefGoogle Scholar
  33. 33.
    P. Pospichal, J. Jaros, J. Schwarz, Parallel genetic algorithm on the cuda architecture. In: Di Chio C, Cagnoni S, Cotta C, Ebner M, Ekárt A, Esparcia-Alcazar A, Goh CK, Merelo J, Neri F, Preuβ M, Togelius J, Yannakakis G (eds) Applications of Evolutionary Computation, Lecture Notes in Computer Science, vol 6024. (Springer Berlin / Heidelberg, 2010), pp 442–451Google Scholar
  34. 34.
    G. Roy, H. Lee, J.L. Welch , Y. Zhao , V. Pandey , D. Thurston, A distributed pool architecture for genetic algorithms. In: Proceedings of the Eleventh conference on Congress on Evolutionary Computation, IEEE Press (Piscataway, NJ, USA, CEC’09, 2009), pp 1177–1184.
  35. 35.
    I. Scriven, D. Ireland, A. Lewis, S. Mostaghim, J. Branke, Asynchronous multiple objective particle swarm optimisation in unreliable distributed environments. In: IEEE Congress on Evolutionary Computation, IEEE (2008a), pp 2481–2486Google Scholar
  36. 36.
    I. Scriven, A. Lewis, D. Ireland, J. Lu, Decentralised distributed multiple objective particle swarm optimisation using peer to peer networks. In: IEEE Congress on Evolutionary Computation, IEEE(2008b), pp 2925–2928Google Scholar
  37. 37.
    I. Scriven, A. Lewis, S. Mostaghim, Dynamic search initialisation strategies for multi-objective optimisation in peer-to-peer networks. In: IEEE Congress on Evolutionary Computation, IEEE (2009), pp 1515–1522Google Scholar
  38. 38.
    Stats (2013) Internet world stats., accessed on March 8th, 2013
  39. 39.
    R. Steinmetz, K. Wehrle (eds), Peer-to-Peer Systems and Applications, Lecture Notes in Computer Science, vol 3485. (Springer, 2005)Google Scholar
  40. 40.
    D. Stutzbach, R. Rejaie, Understanding churn in peer-to-peer networks. In: Proceedings of the 6th ACM SIGCOMM on Internet measurement (IMC 2006) (ACM Press, New York, NY, 2006), pp 189–202. doi: 10.1145/1177080.1177105,
  41. 41.
    D. Thierens, Scalability problems of simple genetic algorithms. Evol. Comput. 7(4), 331–352 (1999)CrossRefGoogle Scholar
  42. 42.
    S. Varrette, M. Ostaszewski, P. Bouvry, Nature inspired algorithm-based fault tolerance on global computing platforms. application to symbolic regression. In: Proc. of the Intl. Conf. on Metaheuristics and Nature Inspired Computing (META’08) (Hammamet, Tunisia, 2008).
  43. 43.
    S. Voulgaris, M. Jelasity, M. van Steen, Agents and Peer-to-Peer Computing, Lecture Notes in Computer Science (LNCS), vol 2872. Springer, Berlin, chap A Robust and Scalable Peer-to-Peer Gossiping Protocol, (2004), pp 47–58. doi: 10.1007/b104265
  44. 44.
    W.R.M.U.K. Wickramasinghe, M. van Steen, A.E. Eiben, Peer-to-peer evolutionary algorithms with adaptive autonomous selection. In: Proceedings of the 9th annual conference on Genetic and evolutionary computation, ACM (New York, NY, USA, GECCO ’07, 2007), pp 1460–1467. doi: 10.1145/1276958.1277225
  45. 45.
    Z. Zhao, F. Yang, Y. Xu, Ppvc: A p2p volunteer computing system. In: 2nd IEEE International Conference on Computer Science and Information Technology, IEEE (2009), pp 51–55Google Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • J. L. J. Laredo
    • 1
    Email author
  • P. Bouvry
    • 1
  • D. L. González
    • 2
  • F. Fernández de Vega
    • 3
  • M. G. Arenas
    • 4
  • J. J. Merelo
    • 4
  • C. M. Fernandes
    • 5
  1. 1.FSTC-CSC/SnTUniversity of LuxembourgLuxembourg cityLuxembourg
  2. 2.Citizen Cyberscience CentreGenevaSwitzerland
  3. 3.University of ExtremaduraMéridaSpain
  4. 4.ATC-ETSIITUniversity of GranadaGranadaSpain
  5. 5.LaseebUniversity of LisbonLisbonPortugal

Personalised recommendations