Parallel Genetic Algorithms' Implementation Using a Scalable Concurrent Operation in Python
Jazyk angličtina Země Švýcarsko Médium electronic
Typ dokumentu časopisecké články
PubMed
35336561
PubMed Central
PMC8951184
DOI
10.3390/s22062389
PII: s22062389
Knihovny.cz E-zdroje
- Klíčová slova
- Coarse-Grained, Fine-Grained, Master–Slave, SCOOP, parallelized genetic algorithms,
- MeSH
- algoritmy * MeSH
- počítače * MeSH
- Publikační typ
- časopisecké články MeSH
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.