IMPLEMENTING DISTRIBUTED GENETIC ALGORITHM WORKFLOW WITH CHANNELS AND MESSAGE PROCESSING NODES

Authors

  • Artem Zhadan
  • Viktor Shynkarenko

DOI:

https://doi.org/10.34185/1991-7848.itmm.2025.01.037

Keywords:

software engineering, information technologies, genetic algorithm, pipes and filters, distributed computing, asynchronous execution, golang.

Abstract

The implementation of the genetic algorithm using the architectural design pattern "Pipes and Filters" solves two main problems – efficiency and ease of modification. The first is achieved due to asynchronous communication and the ability to scale individual phases by adding new nodes of the selected type. The second is ensured by a low level of connectivity of the system components among themselves, namely, the nodes should know only the format and protocol, based on which they should form messages with the results of their work. Modern languages and programming environments provide a large set of tools for implementing systems of this type, completely abstracting from interaction with the operating system kernel. The most leading programming language for implementing distributed computing is Golang.

References

Cormen T. H.; Leiserson C. E.; Rivest R. L. Growth of Functions. Introduction to Algorithms ¬ 1990, pp. 23–41.

“Pipes and Filters pattern”. Microsoft documentation website. https://learn.microsoft.com/en-us/azure/architecture/patterns/pipes-and-filters (accessed Mar 30, 2025).

“Smart endpoints and dumb pipes” AWS official documentation website. https://docs.aws.amazon.com/whitepapers/latest/running-containerized-microservices/smart-endpoints-and-dumb-pipes.html (accessed Mar 30, 2025).

Abhishek Sai A. M., Reddy D., Raghavendra P., Kiran G. Y., Rejeenth V. R. Producer-Consumer problem using Thread pool. 3rd International Conference for Emerging Technology – 2022, pp. 1- 5.

Islam M. S., Rouff M. A., Threads Scheduling and Load Balancing with Loop Iteration in Multicore Processors: a Case Study with OpenMP. 3rd International Conference on Sustainable Technologies for Industry 4.0 – 2021, pp. 1-6.

“The CLR's Thread Pool”. Microsoft documentation website. https://learn.microsoft.com/en-us/archive/msdn-magazine/2003/june/net-column-the-clr-s-thread-pool (accessed Mar 30, 2025).

“Asynchronous programming scenarios”. Microsoft documentation website. https://learn.microsoft.com/en-us/dotnet/csharp/asynchronous-programming/async-scenarios (accessed Mar 30, 2025).

Shynkarenko V. I., Zhadan A. A., “Multiservice architecture of software for stochastic fractal time series forecasting” 2024 IEEE 19th International Conference on Computer Sciences and Information Technologies (CSIT), Zbarazh, Ukraine, in publishing.

Downloads

Published

2025-06-04

Issue

Section

Статті