Parallel Genetic Algorithms' Implementation Using a Scalable Concurrent Operation in Python

. 2022 Mar 20 ; 22 (6) : . [epub] 20220320

Jazyk angličtina Země Švýcarsko Médium electronic

Typ dokumentu časopisecké články

Perzistentní odkaz   https://www.medvik.cz/link/pmid35336561

This paper presents an implementation of the parallelization of genetic algorithms. Three models of parallelized genetic algorithms are presented, namely the Master-Slave genetic algorithm, the Coarse-Grained genetic algorithm, and the Fine-Grained genetic algorithm. Furthermore, these models are compared with the basic serial genetic algorithm model. Four modules, Multiprocessing, Celery, PyCSP, and Scalable Concurrent Operation in Python, were investigated among the many parallelization options in Python. The Scalable Concurrent Operation in Python was selected as the most favorable option, so the models were implemented using the Python programming language, RabbitMQ, and SCOOP. Based on the implementation results and testing performed, a comparison of the hardware utilization of each deployed model is provided. The results' implementation using SCOOP was investigated from three aspects. The first aspect was the parallelization and integration of the SCOOP module into the resulting Python module. The second was the communication within the genetic algorithm topology. The third aspect was the performance of the parallel genetic algorithm model depending on the hardware.

Zobrazit více v PubMed

Tuleja M. Master’s Thesis. Brno University of Technology; Brno, Czech Republic: 2018. Genetic Algorithms—Implementation of Multiprocessing.

Skorpil V., Oujezsky V., Cika P., Tuleja M. Parallel Processing of Genetic Algorithms in Python Language; Proceedings of the 2019 PhotonIcs Electromagnetics Research Symposium—Spring (PIERS-Spring); Rome, Italy. 17–20 June 2019; pp. 3727–3731. DOI

Skorpil V., Oujezsky V., Tuleja M. Comparison of Models of Parallelized Genetic Algorithms; Proceedings of the 2019 11th International Congress on Ultra Modern Telecommunications and Control Systems and Workshops (ICUMT); Dublin, Ireland. 28–30 October 2019; pp. 1–5. DOI

Skorpil V., Oujezsky V., Tuleja M. Testing of Python Models of Parallelized Genetic Algorithms; Proceedings of the 2020 43rd International Conference on Telecommunications and Signal Processing (TSP); Milan, Italy. 7–9 July 2020; pp. 235–238. DOI

Skorpil V., Oujezsky V., Tuleja M. Hardware Utilization of Models of Genetic Algorithms; Proceedings of the 2020 12th International Congress on Ultra Modern Telecommunications and Control Systems and Workshops (ICUMT); Brno, Czech Republic. 5–7 October 2020; pp. 131–135. DOI

Tuleja M., Oujezsky V., Skorpil V. [(accessed on 26 February 2022)]. Available online: https://gitlab.com/ouje/ParallelGeneticPython.

Alba E., Troya J.M. A survey of parallel distributed genetic algorithms. Complexity. 1999;4:31–52. doi: 10.1002/(SICI)1099-0526(199903/04)4:4<31::AID-CPLX5>3.0.CO;2-4. DOI

Eklund S.E. A massively parallel architecture for distributed genetic algorithms. Parallel Comput. 2004;30:647–676. doi: 10.1016/j.parco.2003.12.009. DOI

Zaccone G. Python Parallel Programming Cookbook. Packt; Birmingham, UK: 2015.

Nath D. Running an MPI Cluster within a LAN. [(accessed on 15 May 2021)]. Available online: https://mpitutorial.com/tutorials/running-an-mpi-cluster-within-a-lan/

Messaging That Just Works—RabbitMQ. [(accessed on 15 May 2021)]. Available online: https://www.rabbitmq.com/

Parallel Processing and Multiprocessing in Python. [(accessed on 24 June 2021)]. Available online: https://wiki.python.org/moin/%20ParallelProcessing.

Celery. [(accessed on 24 June 2021)]. Available online: https://docs.celeryproject.org/en/stable/

Multiprocessing. [(accessed on 24 June 2021)]. Available online: https://docs.python.org/3.6/library/multiprocessing.html.

Hold-Geoffroy Y., Gagnon O., Parizeau M. Once you SCOOP, no need to fork; Proceedings of the 2014 Annual Conference on Extreme Science and Engineering Discovery Environment; Atlanta, GA, USA. 13–18 July 2014; New York, NY, USA: ACM; 2014. p. 60.

Bendersky E. Distributed Computing in Python with Multiprocessing. [(accessed on 24 June 2021)]. Available online: https://eli.thegreenplace.net/2012/01/24/distributed-computing-in-python-with-multiprocessing.

Wang T. How to Build Docker Cluster with Celery and RabbitMQ in 10 Minutes. [(accessed on 24 June 2021)]. Available online: https://medium.com/@tonywangcn/how-to-build-docker-cluster-with-celery-and-rabbitmq-in-10-minutes-13fc74d21730.

PIKA—Asynchronous Consumer Example. [(accessed on 15 May 2021)]. Available online: https://pika.readthedocs.io/en/stable/examples/asynchronous_consumer_example.html.

GAFT. [(accessed on 15 May 2021)]. Available online: https://gaft.readthedocs.io/en/latest/

Fortin F.A., De Rainville F.M., Gardner M.A., Parizeau M., Gagné C. DEAP: Evolutionary Algorithms Made Easy. J. Mach. Learn. Res. 2012;13:2171–2175.

PIKA—Asynchronous Publisher Example. [(accessed on 15 May 2021)]. Available online: https://pika.readthedocs.io/en/stable/examples/asynchronous_publisher_example.html.

Najít záznam

Citační ukazatele

Nahrávání dat ...

Možnosti archivace

Nahrávání dat ...