Abstract
The concept of channel, a computational mechanism used to convey state to different threads of process execution, is at the core of the design of multi-threaded concurrent algorithms. In the case of concurrent evolutionary algorithms, channels can be used to communicate messages between several threads performing different evolution tasks related to genetic operations or mixing of populations. In this paper we study to what extent the design of these messages in a communicating sequential process context may influence scaling and performance of concurrent evolutionary algorithms. For this aim, we designed a channel-based concurrent evolutionary algorithm that is able to effectively solve different benchmark binary problems (e.g. OneMax, LeadingOnes, RoyalRoad), showing that it provides a good basis to leverage the multi-threaded and multi-core capabilities of modern computers. Although our results indicate that concurrency is advantageous to scale-up the performance of evolutionary algorithms, they also highlight how the trade–off between concurrency, communication and evolutionary parameters affect the outcome of the evolved solutions, opening-up new opportunities for algorithm design.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Andrews, G.R.: Concurrent Programming: Principles and Practice. Benjamin/Cummings Publishing Company, San Francisco (1991)
Armstrong, J.: Concurrency Oriented Programming in Erlang (2003). http://ll2.ai.mit.edu/talks/armstrong.pdf
Barwell, A.D., Brown, C., Hammond, K., Turek, W., Byrski, A.: Using program shaping and algorithmic skeletons to parallelise an evolutionary multi-agent system in Erlang. Comput. Inform. 35(4), 792–818 (2017)
Briggs, F., O’Neill, M.: Functional genetic programming and exhaustive program search with combinator expressions. Int. J. Know.-Based Intell. Eng. Syst. 12(1), 47–68 (2008). http://dl.acm.org/citation.cfm?id=1375341.1375345
Castagna, G.: Covariance and controvariance: a fresh look at an old issue (a primer in advanced type systems for learning functional programmers). CoRR abs/1809.01427 (2018). http://arxiv.org/abs/1809.01427
Dagum, L., Menon, R.: OpenMP: an industry-standard API for shared-memory programming. Comput. Sci. Eng. (1), 46–55 (1998)
delaOssa, L., Gámez, J.A., Puerta, J.M.: Migration of probability models instead of individuals: an alternative when applying the Island model to EDAs. In: Yao, X., et al. (eds.) PPSN 2004. LNCS, vol. 3242, pp. 242–252. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-30217-9_25
García-Valdez, J.M., Merelo-Guervós, J.J.: A modern, event-based architecture for distributed evolutionary algorithms. In: Proceedings of the Genetic and Evolutionary Computation Conference Companion, GECCO. ACM, New York (2018)
Gelernter, D.: Generative communication in Linda. ACM Trans. Program. Lang. Syst. (TOPLAS) 7(1), 80–112 (1985)
Gropp, W.D., Gropp, W., Lusk, E., Skjellum, A.: Using MPI: Portable Parallel Programming with the Message-Passing Interface, vol. 1. MIT Press, Cambridge (1999)
Hawkins, J., Abdallah, A.: A generic functional genetic algorithm. In: Proceedings of the ACS/IEEE International Conference on Computer Systems and Applications. IEEE Computer Society, Washington (2001)
Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978). https://doi.org/10.1145/359576.359585
Huelsbergen, L.: Toward simulated evolution of machine-language iteration. In: Proceedings of the First Annual Conference on Genetic Programming, GECCO 1996, pp. 315–320. MIT Press, Cambridge (1996)
Jiménez-Laredo, J.L., Eiben, A.E., van Steen, M., Merelo-Guervós, J.J.: EvAg: a scalable peer-to-peer evolutionary algorithm. Genet. Program. Evolvable Mach. 11(2), 227–246 (2010)
Jin, H., Jespersen, D., Mehrotra, P., Biswas, R., Huang, L., Chapman, B.: High performance computing using MPI and openmp on multi-core parallel systems. Parallel Comput. 37(9), 562–575 (2011)
Kerdprasop, K., Kerdprasop, N.: Concurrent computation for genetic algorithms. In: 1st International Conference on Software Technology, pp. 79–84 (2012)
Lalwani, S., Sharma, H., Satapathy, S.C., Deep, K., Bansal, J.C.: A survey on parallel particle swarm optimization algorithms. Arab. J. Sci. Eng. 44(4), 2899–2923 (2019)
Laredo, J.L.J., Castillo, P.A., Mora, A.M., Merelo, J.J.: Exploring population structures for locally concurrent and massively parallel evolutionary algorithms. In: 2008 IEEE Congress on Evolutionary Computation, pp. 2605–2612, June 2008
Laredo, J.L.J., Bouvry, P., Mostaghim, S., Merelo-Guervós, J.-J.: Validating a peer-to-peer evolutionary algorithm. In: Di Chio, C., et al. (eds.) EvoApplications 2012. LNCS, vol. 7248, pp. 436–445. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29178-4_44
Li, X., Liu, K., Ma, L., Li, H.: A concurrent-hybrid evolutionary algorithms with multi-child differential evolution and Guotao algorithm based on cultural algorithm framework. In: Cai, Z., Hu, C., Kang, Z., Liu, Y. (eds.) ISICA 2010. LNCS, vol. 6382, pp. 123–133. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-16493-4_13
Merelo, J.J., García-Valdez, J.-M.: Going stateless in concurrent evolutionary algorithms. In: Figueroa-García, J.C., López-Santana, E.R., Rodriguez-Molano, J.I. (eds.) WEA 2018. CCIS, vol. 915, pp. 17–29. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-00350-0_2
Merelo, J.J., García-Valdez, J.M.: Mapping evolutionary algorithms to a reactive, stateless architecture: using a modern concurrent language. In: Proceedings of the Genetic and Evolutionary Computation Conference Companion, GECCO 2018, pp. 1870–1877. ACM, New York (2018)
Rojas-Galeano, S., Rodriguez, N.: A memory efficient and continuous-valued compact EDA for large scale problems. In: Proceedings of the 14th Annual Conference on Genetic and Evolutionary Computation, GECCO 2018, pp. 281–288. ACM (2012)
Schippers, H., Van Cutsem, T., Marr, S., Haupt, M., Hirschfeld, R.: Towards an actor-based concurrent machine model. In: Proceedings of the 4th Workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages and Programming Systems, ICOOOLPS 2009, pp. 4–9. ACM, New York (2009)
Sher, G.I.: Handbook of Neuroevolution Through Erlang. Springer, Heidelberg (2013). https://doi.org/10.1007/978-1-4614-4463-3
Swan, J., et al.: A research agenda for metaheuristic standardization. In: Proceedings of the XI Metaheuristics International Conference (2015)
Tagawa, K.: Concurrent differential evolution based on generational model for multi-core CPUs. In: Bui, L.T., Ong, Y.S., Hoai, N.X., Ishibuchi, H., Suganthan, P.N. (eds.) SEAL 2012. LNCS, vol. 7673, pp. 12–21. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-34859-4_2
Valkov, L., Chaudhari, D., Srivastava, A., Sutton, C., Chaudhuri, S.: Synthesis of differentiable functional programs for lifelong learning. arXiv preprint arXiv:1804.00218 (2018)
Walsh, P.: A functional style and fitness evaluation scheme for inducting high level programs. In: Banzhaf, W., et al. (eds.) Proceedings of the Genetic and Evolutionary Computation Conference, vol. 2, pp. 1211–1216. Morgan Kaufmann (1999)
Acknowledgements
This paper has been supported in part by projects DeepBio (TIN2017-85727-C4-2-P), TecNM Project 5654.19-P and CONACYT-PEI 220590.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Merelo, J.J., Laredo, J.L.J., Castillo, P.A., García-Valdez, JM., Rojas-Galeano, S. (2019). Scaling in Concurrent Evolutionary Algorithms. In: Figueroa-García, J., Duarte-González, M., Jaramillo-Isaza, S., Orjuela-Cañon, A., Díaz-Gutierrez, Y. (eds) Applied Computer Sciences in Engineering. WEA 2019. Communications in Computer and Information Science, vol 1052. Springer, Cham. https://doi.org/10.1007/978-3-030-31019-6_2
Download citation
DOI: https://doi.org/10.1007/978-3-030-31019-6_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-31018-9
Online ISBN: 978-3-030-31019-6
eBook Packages: Computer ScienceComputer Science (R0)