nw  

Distributed High Performance Cluster

Zusammenfassung

Verteiltes Computercluster zur Berechnung von rechenintensiven Tasks

Schlüsselbegriffe

Docker, Nvidia-docker, OpenCL, AMD-gpupro, Distributed High Performance Cluster, HPC, DHPC, Python, Java, MySQL, Angular

Zielsetzung

Das Ziel dieser Arbeit ist die Erarbeitung und Implementierung eines verteilten High Performance Clusters innerhalb des Institut für Data Science. Dafür wird ein Client benötigt, welcher auf Windows und Linux läuft und rechenintensive Tasks abarbeitet. Der Client soll die Tasks mittels Docker abstrahieren aber trotzdem alle Vorteile der verbauten Hardware bieten, wie die Verwendung von GPUs. Die Verteilung der Tasks soll über einen Server geschehen, welcher je nach Spezifikation des Tasks einen oder mehrere passende Clients verwendet.

Ausgangslage

Am Institut für Data Science gibt es eine Vielzahl von rechenintensiven Tasks, sowie auch eine Vielzahl von Servern und PCs mit viel Leistung. Jedoch stellt sich das Mapping von Tasks zu Rechnern als Herausforderung dar, da alle Rechner verteilt sind und nicht jede Person darauf Zugriff hat. Zusätzlich sind die Anforderungen der Tasks an die Hardware sehr verschieden, einige benötigen GPUs, andere viel RAM und CPUs. Daher können meist rechenintensive Tasks nicht ad-hoc verarbeitet werden und es muss zunächst ein passender Rechner gefunden werden.

Ergebnisse

Im Rahmen dieses Projektes wurde ein Computercluster entwickelt. Auf Windows und Linux Rechnern kann ein Python Clientprogramm installiert werden, welches als Service läuft und sich mit dem Cluster verbindet. Das Cluster kann über eine Webanwendung bedient und überwacht werden. Dort kann ein Task inform eines Docker Containers oder eines Zip-Archivs übermittelt werden und wird dann auf einem passenden Rechner ausgeführt. Der folgende Screenshot zeigt von der Webanwendung die Übersicht über alle Tasks:




Das Ergebnis eines Tasks wird nach Ausführung zurück an den Server gesendet, wo es vom Benutzer gelesen werden kann. Der Folgende Screenshot zeigt dies anhand eines Tasks, der ein Machine Learning Modell mit Tensorflow auf einer GPU berechnet hat:


Projektdaten
Projektart Projektarbeit 5. Semester
Projektdauer 1 Semester
Aufwand in Personenstunden 360 Personenstunden (180 pro Person)
Teamgrösse 2 Personen
Auftraggeber

Institut für Data Science
Fachhochschule Nordwestschweiz
Bahnhofsstrasse 6
5210 Windisch
https://www.fhnw.ch/de/die-fhnw/hochschulen/ht/institute/institut-fuer-data-science

Projektteam

Jonathan Ehrengruber
Student Informatik (Berufsbegleitend)
6. Semester
jonathan.ehrengruber@students.fhnw.ch


Michael Hauser
Student Informatik (Berufsbegleitend)
6. Semester
michael.hauser@students.fhnw.ch

Kontakt

Prof. Dr. Martin Melchior
martin.melchior@fhnw.ch


Simon Marcin
simon.marcin@fhnw.ch

<< zurück