Not logged in.

Contribution Details

Type Bachelor's Thesis
Scope Discipline-based scholarship
Title A Cloud Framework for Polyglot Parallel Genetic Algorithms
Organization Unit
Authors
  • Janik Lüchinger
Supervisors
  • Harald Gall
  • Pasquale Salza
Language
  • English
Institution University of Zurich
Faculty Faculty of Business, Economics and Informatics
Date 2020
Abstract Text Genetic Algorithms are a potent tool when computing an exact solution for a problem is too expensive, but a near-optimal approximation can be sufficient instead. Most Genetic Algorithms are sequential programs that are prone to scalability issues. Increasing their performance is possible by executing resource-intensive steps in parallel, therefore reducing the required computation time. Some previous proposals for cloud-based Genetic Algorithm distribution already provided frameworks exploiting well-known parallelization techniques. We devised a new, more flexible framework. We propose PGAcloud, a cloud framework capable of including and executing polyglot, i.e., multi-language, Genetic Algorithms and deploying them to a prepared cloud environment. Developers of Genetic Algorithms can include their custom implementations into a wrapping software container, effectively deploying a local algorithm to the cloud, without worrying about the underlying implementation details of the framework. Deploying a Genetic Algorithm to the cloud for parallelization makes it a Parallel Genetic Algorithm. Allowing developers to include any code into the framework directly makes our proposed framework very flexible. PGAcloud employs an easily scalable architecture and takes care of cloud orchestration, load balancing, provisioning, and deployment of the required software containers. After any adjustments to the provided Parallel Genetic Algorithm configuration template, the user simply needs to execute the desired commands from the local client’s command-line interface and point out the configuration file to be used. By basing the main capabilities of any Parallel Genetic Algorithm computation on a user-defined configuration file, we keep the possibilities for future additions as versatile as possible.
Zusammenfassung Genetische Algorithmen sind ein mächtigesWerkzeug zur Problemlösung, wenn die Berechnung einer exakten Lösung zu teuer ist, eine nahezu optimale Annäherung jeodch ausreicht. Die meisten Genetische Algorithmen sind sequenzielle Programme und daher anfällig für Skalierungs- Probleme. Ihre Leistung kann jedoch gesteigert werden, indem gewisse Ressourcen-intensive Schritte parallel ausgeführt werden, wodurch die benötigte Rechenzeit reduziert wird. Einige frühere Vorschläge für die Cloud-basierte Verteilung Genetischer Algorithmen haben bereits Frameworks angeboten, welche bekannte Techniken zur Parallelisierung nutzen. Wir entwickelten ein neues, flexibleres Framework. Wir schlagen PGAcloud vor, ein Cloud-Framework, welches polyglotte, d.h. mehrsprachige Genetische Algorithmen einbinden und ausführen sowie sie auf eine vorbereitete Cloud-Umgebung verteilen kann. Entwickler von Genetischen Algorithmen können ihre problemspezifischen Implementationen in einen Software Container einbinden, was einen eigentlich lokalen Algorithmus in der Cloud bereitstellt, ohne sich um die darunterliegenden Implementierungs-Details des Frameworks zu kümmern. Die Bereitstellung eines Genetischen Algorithmus zur Parallelisierung in der Cloud macht daraus einen Parallelen Genetischen Algorithmus. Den Entwicklern zu ermöglichen, Code jeglicher Art direkt in das Framework einzubinden, macht unser vorgeschlagenes Framework sehr flexibel. PGAcloud verwendet eine einfach skalierbare Architektur und kümmert sich um Cloud Orchestrierung, Lastverteilung, Vorbereitung und Aufschaltung der benötigten Software Container. Nach allfälligen Anpassungen an der Konfigurationsvorlage des Parallelen Genetischen Algorithmus muss der Nutzer lediglich die gewünschten Befehle im Kommandozeilen-Interface des lokalen Clients ausführen und ihn auf die zu verwendende Konfigurationsdatei hinweisen. Indem wir die Hauptfähigkeiten einer jeden Berechnung eines Parallelen Genetischen Algorithmus auf einer nutzerdefinierten Konfigurationsdatei basieren, halten wir die Möglichkeiten für zukünftige Ergänzungen so vielseitig wie möglich.
PDF File Download
Export BibTeX