Software-Projektpraktikum: HPC Cluster Challenge

Heutzutage sind bereits übliche Desktop PCs sowie Laptops mit mehreren Rechenkernen ausgestattet um die Gesamtrechenleistung zu steigern und anstehende Aufgaben in immer kürzerer Zeit fertigstellen zu können. Da jedoch der Bedarf an Rechenleistung gerade in wissenschaftlichen und kommerziellen Bereichen stetig wächst, um immer größere und komplexere Aufgaben und Simulationen zu bewältigen, werden üblicherweise viele einzelne Rechner miteinander verbunden. Dieser Zusammenschluss von Rechner wird auch als Cluster bezeichnet und ist z.B. bei Betreibern von Hochleistungsrechnern und Cloud-Computing-Diensten zu finden.

Ziel des Praktikums ist die Vermittlung von Grundkenntnissen im Bereich Cluster-Bau sowie der Aufbau eines eigenen Clusters mit bereitgestellter Hardware. Außerdem wird ein Verständnis der speziellen Eigenschaften eines Clusters und deren Bewertung im Hinblick auf Stromverbrauch, Energieeffizienz sowie diversen Leistungs-Metriken vermittelt. Dazu kommen die folgenden drei unterschiedlichen Rechner-Architekturen zum Einsatz:

  • NVIDIA Jetson

  • Banana Pi M64

  • Handelsübliches Desktop System basierend auf Intel Core i5

Ein Teil der Aufgabenstellung besteht darin, die einzelnen Rechner der jeweiligen Architektur mit Betriebssystemen (Linux) auszustatten, zu konfigurieren und zu einem Cluster zu vernetzen. Im zweiten Teil der Aufgabenstellung soll eine Portierung verschiedener Codes/Programme, auch Benchmarks genannt, auf die Cluster erfolgen. Mit diesen Benchmarks werden üblicherweise Eigenschaften wie z.B. verfügbare Bandbreite, Latenz oder Rechenleistung bestimmt. Außerdem bilden einige dieser Benchmarks Operationen ab, die sehr häufig in z.B. wissenschaftlichen Codes verwendet werden. Zusätzlich soll bei der Ausführung der Benchmarks der Stromverbrauch der Architekturen gemessen werden. Mit Hilfe der Metriken, die durch die Benchmarks bereitgestellt werden, sowie des Stromverbrauchs soll ein Vergleich der unterschiedlichen Architekturen im Hinblick auf Energieeffizienz und Leistung erfolgen. Abschließend werden die Gruppen ihre Ergebnisse und Arbeiten in einer Präsentation vorstellen. 

Kenntnisse im Umgang mit Linux als Betriebsystem sind von Vorteil. Die Unterrichtsmaterialien sind in englisch, die Sprache der Veranstaltung ist aber flexibel deutsch oder englisch.

 

Termine und Vorbereitung

Das Softwarepraktikum findet semesterbegleitend statt. Treffpunkt ist mittwochs von 16:15 - 17:45 Uhr in Seminarraum 5055 in der Ahornstraße 55. Die Einführungsveranstaltung findet am 11. Oktober 2017 statt. Die Teilnahme an den Mittwochsterminen ist verpflichtend.

Darüberhinaus steht für den Aufbau der Hardware im Keller des Informatik Zentrums (Ahornstr. 55) ein eigener Raum zur Verfügung, welcher tagsüber genutzt werden kann.

Am Anfang und während des Praktikums wird es Vorträge geben, die eine Einführung in Teilbereiche der Aufgabenstellung geben. 


Voraussetzungen

Da in diesem Praktikum Linux-Betriebssysteme installiert und konfiguriert werden sollen, wird die Bereitschaft zum Umgang mit Linux und dem Arbeiten mit der Kommandozeile vorausgesetzt. Außerdem sind Grundkenntnisse in einer Programmiersprache wie C/C++ oder Java erwünscht, da bei der Portierung der Codes auf die Architekturen eventuell kleinere Anpassungen erfolgen müssen.


Kontakt

contact@hpc.rwth-aachen.de


  • No labels