This framework serves the parallelization of Evolutionary Algorithms on a cluster. Parallelization Models implemented till now:
- Coarse-Grained Parallelization Model (Island Model)
- Global Model (Master-Slave Model)
- Coarse-Grained Global Hybrid Model (Island - Master-Slave Hybrid Model)
This framework runs on the cluster using Kubernetes orchestration and Container-Virtualization (Docker).
- You need to have a kubernetes cluster and the kubectl command tool installed on your local machine.
- linux OS
- Docker installed
- Java 8 or higher
- Spring Boot
- Redis local / on cluster
- IntelliJ or Eclipse
- Maven
- Upload the Docker images to the cloud using Dockerfile
- Deploy the Microservices using the .yaml files in kubernetes folder
- Open frontend in browser and submit job to be optimized
- Spring Boot
- Maven - Dependency Management
- Redis - Used to implement the publish/subscribe messaging pattern
- Docker - Container Virtualization
- Kubernetes - Used to implement Microservices Architecture on Cluster
Framework Papers:
- Khalloof, H., Mohammad, M., Jakob, W., Shahoud, S., Duepmeier, C., Hagenmeyer, V. A Generic and Scalable Solution for Hierarchical Parallelization of Population-Based Metaheuristics: A Microservices and Container Virtualization Approach
- Khalloof, H., Jakob, W., Liu, J., Braun, E., Shahoud, S., Duepmeier, C., Hagenmeyer, V.: A Generic Distributed Microservices and Container based Framework for Metaheuristic Optimization
- Khalloof, H., Ostheimer, P., Jakob, W., Shahoud, S., Duepmeier, C., Hagenmeyer, V.: A Distributed Modular Scalable and Generic Framework for Parallelizing Population-Based Metaheuristics.
Contact: Hatem Khalloof
-
Hatem Khalloof
-
Phil Ostheimer
-
Mohammad Mohammad