skip to main content
10.1145/3067695.3082473acmconferencesArticle/Chapter ViewAbstractPublication PagesgeccoConference Proceedingsconference-collections
research-article

evospace-js: asynchronous pool-based execution of heterogeneous metaheuristics

Published: 15 July 2017 Publication History

Abstract

This paper is part of a continuing effort in the field of EC to develop algorithms that follow an opportunistic approach to computing, allowing the exploitation of freely available services over the Internet by using free tiers of cloud services or volunteer computing resources; the EvoSpace model is able to tap from both kind of resources, using asynchronous evolutionary algorithms. We present its design, which follows an an event-driven architecture and asynchronous I/O model, and its implementation, with a server-side tier programmed in Node.js that uses Redis as an in-memory and high performance data store for the population. This population store is exposed to clients running population-based and nature-inspired metaheuristics through a REST API. Additional capabilities where implemented in this version to allow the logging of experiments where heterogeneous algorithms are executed in parallel. These logs can then be transformed to other formats. As a case study an hybrid global optimization algorithm has been implemented mixing two algorithms: a PSO algorithm from the EvoloPy library and a GA using the DEAP framework. The result was transformed to files compatible to the Comparing Continuous Optimizer platform in order to use their post-processing code. Clients in this case have been developed in the Python language, the language used to implement both libraries. The results from this case study suggest, first, that EvoSpace can be used as a paradigm- and language-agnostic platform for population-based optimization algorithms, and also that this software can yield performance improvements and a viable platform to execute and compare asynchronous pool-based metaheuristics.

References

[1]
Enrique Alba and José M Troya. 2001. Analyzing synchronous and asynchronous parallel distributed genetic algorithms. Future Generation Computer Systems 17, 4 (2001), 451--465.
[2]
J. Atienza, P. A. Castillo, M. García, J. González, and J.J. Merelo. 2000. Jenetic: a distributed, fine-grained, asynchronous evolutionary algorithm using Jini. In Proc. JCIS 2000 (Joint Conference on Information Sciences), P. P. Wang (Ed.), Vol. I. 1087--1089. ISBN: 0-9643456-9-2.
[3]
Erick Cantu-Paz. 2000. Efficient and accurate parallel genetic algorithms. Vol. 1. Springer Science & Business Media.
[4]
Erick Cantú-Paz. 2001. Migration Policies, Selection Pressure, and Parallel Evolutionary Algorithms. Journal of Heuristics 7, 4 (2001), 311--334.
[5]
Kenneth De Jong. 2007. Parameter setting in EAs: a 30 year perspective. In Parameter setting in evolutionary algorithms. Springer, 1--18.
[6]
P.S. de Souza and S.N. Talukdar. 1991. Genetic algorithms in asynchronous teams. In Proceedings of the Fourth International Conference on Genetic Algorithms. Morgan Kaufmann Publishers, 392--399.
[7]
Sergio Di Martino, Filomena Ferrucci, Valerio Maggio, and Federica Sarro. 2013. Towards Migrating Genetic Algorithms for Test Data Generation to the Cloud. In Software Testing in the Cloud: Perspectives on an Emerging Discipline. IGI Global, IGI Global, 113--135.
[8]
Jerzy Duda and Wojciech Dlubacz. 2013. GPU acceleration for the web browser based evolutionary computing system. In System Theory, Control and Computing (ICSTCC), 2013 17th International Conference. IEEE, 751--756.
[9]
Hossam Faris, Ibrahim Aljarah, Seyedali Mirjalili, Pedro A. Castillo, and Juan J. Merelo. 2016. EvoloPy: An Open-source Nature-inspired Optimization Framework in Python. In Proceedings of the 8th International Joint Conference on Computational Intelligence, IJCCI 2016, Volume 1: ECTA, Porto, Portugal, November 9--11, 2016., Juan Julián Merelo Guervós, Fernando Melício, José Manuel Cadenas, António Dourado, Kurosh Madani, Antonio E. Ruano, and Joaquim Filipe (Eds.). SciTePress, 171--177.
[10]
Pedro Fazenda, James McDermott, and Una-May O'Reilly. 2012. A Library to Run Evolutionary Algorithms in the Cloud Using Mapreduce. In Proceedings of the 2012T European Conference on Applications of Evolutionary Computation (EvoApplications'12). Springer-Verlag, Berlin, Heidelberg, 416--425.
[11]
Malek Smaoui Feki, Viet Huy Nguyen, and Marc Garbey. 2009. Parallel Genetic Algorithm Implementation for BOINC. In PARCO (Advances in Parallel Computing), Barbara M. Chapman, Frédéric Desprez, Gerhard R. Joubert, Alain Lichnewsky, Frans J. Peters, and Thierry Priol (Eds.), Vol. 19. IOS Press, 212--219.
[12]
Francisco Fernández De Vega, Gustavo Olague, Leonardo Trujillo, and Daniel Lombraña González. 2013. Customizable Execution Environments for Evolutionary Computation Using BOINC + Virtualization. Natural Computing 12, 2 (2013), 163--177.
[13]
Félix-Antoine Fortin, François-Michel De Rainville, Marc-André Gardner, Marc Parizeau, and Christian Gagné. 2012. DEAP: Evolutionary algorithms made easy. Journal of Machine Learning Research 13, Jul (2012), 2171--2175.
[14]
Mario García-Valdez, Leonardo Trujillo, Juan-J Merelo, Francisco Fernández de Vega, and Gustavo Olague. 2015. The EvoSpace Model for Pool-Based Evolutionary Algorithms. Journal of Grid Computing 13, 3 (2015), 329--349.
[15]
Anne Augerfi!?Steffen Finckfi!?Nikolaus Hansen and Raymond Ros. 2010. BBOB 2009: Comparison Tables of All Algorithms on All Noiseless Functions. (2010).
[16]
Nikolaus Hansen, Anne Auger, Olaf Mersmann, Tea Tusar, and Dimo Brockhoff. 2016. COCO: a platform for comparing continuous optimizers in a black-box setting. (2016).
[17]
Johannes Hofmann, Steffen Limmer, and Dietmar Fey. 2013. Performance investigations of genetic algorithms on graphics cards. Swarm and Evolutionary Computation 12 (2013), 33--47.
[18]
Manuel López-Ibánez, Jérémie Dubois-Lacoste, Thomas Stützle, and Mauro Birattari. 2011. The irace package, iterated race for automatic algorithm configuration. Technical Report. Citeseer.
[19]
J. J. Merelo, P.A. Castillo, J.L.J. Laredo, A. Mora, and A. Prieto. 2008. Asynchronous Distributed Genetic Algorithms with JavaScript and JSON. In WCCI 2008 Proceedings. IEEE Press, 1372--1379. http://atc.ugr.es/I+D+i/congresos/2008/CEC_2008_1372.pdf
[20]
Juan J. Merelo, Antonio M. Mora, Pedro A. Castillo, Juan L. J. Laredo, Lourdes Araujo, Ken C. Sharman, Anna I. Esparcia-Alczar, Eva Alfaro-Cid, and Carlos Cotta. 2008. Testing the Intermediate Disturbance Hypothesis: Effect of Asynchronous Population Incorporation on Multi-Deme Evolutionary Algorithms. In Parallel Problem Solving from Nature - PPSN X (LNCS), Gunter Rudolph, Thomas Jansen, Simon Lucas, Carlo Poloni, and Nicola Beume (Eds.), Vol. 5199. Springer, Dortmund, 266--275.
[21]
Seyedali Mirjalili, Seyed Mohammad Mirjalili, and Andrew Lewis. 2014. Grey wolf optimizer. Advances in Engineering Software 69 (2014), 46--61.
[22]
Heinz Mühlenbein. 1989. Parallel genetic algorithms, population genetics and combinatorial optimization. In Workshop on Parallel Processing: Logic, Organization, and Technology. Springer, 398--406.
[23]
Victor M. Rivas, Juan Julián Merelo-Guervós, Gustavo Romero-López, Maribel Arenas-García, and Antonio M. Mora. 2014. An Object-Oriented Library in JavaScript to Build Modular and Flexible Cross-Platform Evolutionary Algorithms. In Applications of Evolutionary Computation, Anna I. Esparcia-Alcázar and Antonio M. Mora (Eds.). Springer Berlin Heidelberg, 853--862.
[24]
G. Roy, Hyunyoung Lee, J.L. Welch, Yuan Zhao, V. Pandey, and D. Thurston. 2009. A distributed pool architecture for genetic algorithms. In Evolutionary Computation, 2009. CEC '09. IEEE Congress on. 1177--1184.
[25]
Dylan Sherry, Kalyan Veeramachaneni, James McDermott, and Una-May O'Reilly. 2012. Flex-GP: genetic programming on the cloud. In Applications of Evolutionary Computation. Springer, 477--486.
[26]
Dylan Sherry, Kalyan Veeramachaneni, James McDermott, and Una-May OfiReilly 2012. Flex-GP: Genetic Programming on the Cloud. In Applications of Evolutionary Computation, Cecilia Chio, Alexandros Agapitos, Stefano Cagnoni, Carlos Cotta, FranciscoFernndez Vega, GianniA. Caro, Rolf Drechsler, Anik Ekrt, Annal. Esparcia-Alczar, Muddassar Farooq, WilliamB. Langdon, JuanJ. Merelo-Guervs, Mike Preuss, Hendrik Richter, Sara Silva, Anabela Simes, Giovanni Squillero, Ernesto Tarantino, AndreaG.B. Tettamanzi, Julian Togelius, Neil Urquhart, A.ima Uyar, and GeorgiosN. Yannakakis (Eds.). Lecture Notes in Computer Science, Vol. 7248. Springer Berlin Heidelberg, 477--486.
[27]
Rainer Storn and Kenneth Price. 1997. Differential evolution-a simple and efficient heuristic for global optimization over continuous spaces. Journal of global optimization 11, 4 (1997), 341--359.
[28]
S. Talukdar, L. Baerentzen, A. Gove, and P. De Souza. 1998. Asynchronous teams: Cooperation schemes for autonomous agents. Journal of Heuristics 4, 4 (1998), 295--321.
[29]
Stefan Tilkov and Steve Vinoski. 2010. Node.js: Using JavaScript to build high-performance network programs. IEEE Internet Computing 14, 6 (2010), 80--83.
[30]
Mario García Valdez, Leonardo Trujillo, Juan Julián Merelo-Guervós, Francisco Fernández de Vega, and Gustavo Olague. 2015. The EvoSpace Model for Pool-Based Evolutionary Algorithms. J. Grid Comput. 13, 3 (2015), 329--349.

Cited By

View all
  • (2023)Distributed and Asynchronous Population-Based Optimization Applied to the Optimal Design of Fuzzy ControllersSymmetry10.3390/sym1502046715:2(467)Online publication date: 9-Feb-2023
  • (2021)Random Selection of Parameters in Asynchronous Pool-Based Evolutionary Algorithms2021 IEEE Congress on Evolutionary Computation (CEC)10.1109/CEC45853.2021.9504880(2531-2538)Online publication date: 28-Jun-2021
  • (2021)A generic flexible and scalable framework for hierarchical parallelization of population-based metaheuristicsInternet of Things10.1016/j.iot.2021.100433(100433)Online publication date: Jul-2021
  • Show More Cited By

Index Terms

  1. evospace-js: asynchronous pool-based execution of heterogeneous metaheuristics

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    GECCO '17: Proceedings of the Genetic and Evolutionary Computation Conference Companion
    July 2017
    1934 pages
    ISBN:9781450349390
    DOI:10.1145/3067695
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 15 July 2017

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. distributed evolutionary algorithms
    2. nature-inspired metaheuristics

    Qualifiers

    • Research-article

    Funding Sources

    • Ministerio espanol de Economia y Competitividad

    Conference

    GECCO '17
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 1,669 of 4,410 submissions, 38%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)1
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 28 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Distributed and Asynchronous Population-Based Optimization Applied to the Optimal Design of Fuzzy ControllersSymmetry10.3390/sym1502046715:2(467)Online publication date: 9-Feb-2023
    • (2021)Random Selection of Parameters in Asynchronous Pool-Based Evolutionary Algorithms2021 IEEE Congress on Evolutionary Computation (CEC)10.1109/CEC45853.2021.9504880(2531-2538)Online publication date: 28-Jun-2021
    • (2021)A generic flexible and scalable framework for hierarchical parallelization of population-based metaheuristicsInternet of Things10.1016/j.iot.2021.100433(100433)Online publication date: Jul-2021
    • (2020)A Generic Flexible and Scalable Framework for Hierarchical Parallelization of Population-Based MetaheuristicsProceedings of the 12th International Conference on Management of Digital EcoSystems10.1145/3415958.3433041(124-131)Online publication date: 2-Nov-2020
    • (2020)A Generic Scalable Method for Scheduling Distributed Energy Resources Using Parallelized Population-Based MetaheuristicsProceedings of the Future Technologies Conference (FTC) 2020, Volume 210.1007/978-3-030-63089-8_1(1-21)Online publication date: 1-Nov-2020
    • (2020)A Distributed Modular Scalable and Generic Framework for Parallelizing Population-Based MetaheuristicsParallel Processing and Applied Mathematics10.1007/978-3-030-43229-4_37(432-444)Online publication date: 19-Mar-2020
    • (2019)The Impact of Event Processing Flow on Asynchronous Server EfficiencyIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2019.2938500(1-1)Online publication date: 2019
    • (2019)Superlinear Speedup of Parallel Population-Based Metaheuristics: A Microservices and Container Virtualization ApproachIntelligent Data Engineering and Automated Learning – IDEAL 201910.1007/978-3-030-33607-3_42(386-393)Online publication date: 18-Oct-2019
    • (2018)A generic distributed microservices and container based framework for metaheuristic optimizationProceedings of the Genetic and Evolutionary Computation Conference Companion10.1145/3205651.3208253(1363-1370)Online publication date: 6-Jul-2018

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media