Abstract
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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Notes
Source code for the experiments is available at https://forja.rediris.es/svn/geneura/peerevogen, published under GPL v3 public license.
These samples are available together with the source code for the experiments at https://forja.rediris.es/svn/geneura/peerevogen.
This issue has been solved by the P2P computing community with the use of hubs or superpeers, a set of public and reliable nodes keeping a partial knowledge of the connected network. See [39] for more details.
References
D.H. Ackley, A connectionist machine for genetic hillclimbing. (Kluwer Academic Publishers, Norwell, MA, 1987)
E. Alba, M. Tomassini, Parallelism and evolutionary algorithms. IEEE Trans. Evol. Comput. 6(5), 443–462 (2002)
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–10
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
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. http://dl.acm.org/citation.cfm?id=645826.669596
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–311
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.
M. Biazzini, A. Montresor, Gossiping differential evolution: A decentralized heuristic for function optimization in p2p networks. In: ICPADS, IEEE. (2010), pp 468–475
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
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
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
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–928
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–41
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–1579
S. Ghosh, Distributed systems: an algorithmic approach. (Chapman & Hall/CRC, 2006)
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
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–4398
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–10
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–423
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–142
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 1519
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). http://www.cs.vu.nl/pub/papers/globe/IR-503.02
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
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)
J.R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection. (MIT Press, Cambridge, MA, 1992)
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–2617
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
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)
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–445
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)
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, http://www.sciencedirect.com/science/article/pii/S0020025510004561
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.
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–451
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. http://dl.acm.org/citation.cfm?id=1689599.1689756
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–2486
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–2928
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–1522
Stats (2013) Internet world stats. http://www.internetworldstats.com, accessed on March 8th, 2013
R. Steinmetz, K. Wehrle (eds), Peer-to-Peer Systems and Applications, Lecture Notes in Computer Science, vol 3485. (Springer, 2005)
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, http://portal.acm.org/citation.cfm?id=1177105
D. Thierens, Scalability problems of simple genetic algorithms. Evol. Comput. 7(4), 331–352 (1999)
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). http://www2.lifl.fr/META08/
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
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
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–55
Acknowledgments
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).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Laredo, J.L.J., Bouvry, P., González, D.L. et al. Designing robust volunteer-based evolutionary algorithms. Genet Program Evolvable Mach 15, 221–244 (2014). https://doi.org/10.1007/s10710-014-9213-5
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10710-014-9213-5