Fakultät Informatik/Mathematik

Zentrum für Informationsdienste und Hochleistungsrechnen

Das Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) ist neben seinen Aufgaben zur allgemeinen IT-Versorgung der TU Dresden das sächsische Hochleistungsrechenzentrum für alle akademischen Einrichtungen und seit Januar 2021 eines von 8 Zentren des NHR-Verbundes (Nationales Hochleistungsrechnen). Das ZIH ist außerdem einer der beiden tragenden Partner des Kompetenzzentrums für Big Data und Maschinelles Lernen ScaDS.AI Dresden/Leipzig.

Das ZIH betreiben seit über zwei Jahrzehnten Hochleistungsrechner, die wissenschaftlichen Nutzer/innen für Ihre Forschungsaufgaben über einen Rechenzeitantrag kostenfrei zur Verfügung gestellt wird.

Aufgaben des ZIH im KiWi Projekt

Das ZIH übernimmt im Rahmen des KiWi Projektes folgende Aufgaben:

  • Beratung der HTW Dresden bei der geplanten Ergänzungsbeschaffung des HPC-Clusters am ZIH um ein Multi-GPU-Cluster
  • Integration und Betrieb des Multi-GPU-Clusters in die vorhandene Infrastruktur des ZIH´s
  • Anbindung des Multi-GPU-Clusters an den bestehenden HPC Software-Stack. Die ForscherInnen der HTW Dresden können damit jeweils vom neusten Stand von KI-Werkzeugen im Multi-GPU-Cluster profitieren.
  • Gemeinsam erarbeiten das ZIH und die HTW eine Variante des HPC-Workflows über den die HTW und ihre Forschungspartner aus Wirtschaft und Wissenschaft auf die Ressourcen effizient zugreifen können. Die Zuteilung der FuE-Vorhaben auf die Ressourcen des Multi-GPU-Clusters liegt in der Verantwortung der HTW Dresden.
  • Für einen regelmäßigen Erfahrungsaustausch zu KI-Technologien und deren Nutzung in der angewandten Forschung wird die HTW assoziierter Partner im Center for Scalable Data Analytics and Artificial Intelligence Dresden/Leipzig (ScaDS.AI).

HPC Cluster

Mit dem Hochleistungsrechner-/Speicherkomplex (HRSK-II) sowie der Erweiterung High Performance Computing – Data Analytics (HPC-DA) steht Wissenschaftler:innen ein Supercomputer mit etwa 60.000 CPU-Kernen zur Verfügung:

  1. Hochleistungsrechner-/Speicherkomplex (HRSK-II)
    • 40.000 Intel Haswell Cores​​​​​​​
    • 256 GPU´s (Nvidia K80)
    • Für hochparallele, daten- und rechenintensive HPC-Anwendungen
    • FEM-Simulationen, CFD-Rechnungen, Molekulardynamik, Berechnungen mit Matlab oder R
  2. High Performance Computing – Data Analytics (HPC-DA)
    • ​​​​​​​1536 AMD Rome Cores, 256 Nvidia A100 GPU´s  (AlphaCentauri)
    • 1408 IBM Power9 Cores, 192 Nvidia V100  GPU´s  (IBM Power9)
    • 24.576 AMD Rome Cores (Romeo)
    • 2 PB Flashspeicher
    • 10 PB Archiv
    • Für Anwendungen im Bereich Machine Learning und Deep Learning
    • Training neuronaler Netze, Datenanalysen mit Big-Data-Frameworks
  3. Verarbeitung besonders großer Datensätze
    • ​​​​​​​Shared-Memory-Verbund aus 896 Intel CascadeLake Cores
    • 48TB Hauptspeicher in einem gemeinsamen Adressraum
    • 400 TB NVMe-Speicherkarten als sehr schneller, lokaler Storage​​​​​​​​​​​​​​

Zugriff auf HPC Ressourcen

Welche Schritte sind notwendig, um Zugriff zu den HPC Ressourcen des ZIH Rechnen zu bekommen.

  1. ZIH Login, um sich an HPC Diensten anzumelden
    • Für TU-fremde Nutzer gibt es ein spezielles HPC-spezifisches Anmeldeformular, welches keinen TU-Bürgen benötigt.
    • Login wird in der Regel in 1-2 Tagen aktiviert
    • Logins sind Personengebunden, d.h. es kann kein allgemeines Login für LV´s verwendet werden
    • aber: es können für LV Teilnehmer temporär Logins erzeugt werden
  2. HPC Projektantrag, um Rechenleistung zugewiesen zu bekommen
    • Projektantrag wird wissenschaftlich begutachtet und i.d.R. innerhalb weniger Tage bewilligt
    • Bis zu 3500 CPU/h und 250 GPU/h pro Monat reicht eine kurze Beschreibung des Projektes
    • Für mehr Ressourcen wird eine ausführlicher Projektantrag benötigt
    • LV Projekte sind speziell gekennzeichnet und werden i.d.R. problemlos bewilligt
  3. Dem beantragten HPC Projekt einen oder mehrere ZIH-Logins zuweisen
    • ​​​​​​​Diese ZIH-Logins können dann mit den beantragten Ressourcen auf dem HPC Cluster Berechnungen ausführen 

Beispiel 1:

Für eine LV benötigt man ein Projektantrag mit entsprechenden Kontingenten. Die Studierenden haben dann jeder ein individuelles Login (kann auch temporär sein) und werden dem LV Projekt hinzugefügt. Diese können nun mit den Kontingenten im Projekt rechnen.

[24 Studierenden] x [10 Stunden Zugriff auf eine GPU pro Student] = Kontingenten von 240 GPU Studenten im Projekt

Beispiel 2:

Ein Forschungsprojekt entspricht einem Projekt. Jeder Mitarbeiter benötigt ein individuelles Login über folgendes Anmeldeformular und wird dem Projekt hinzugefügt. Dieser kann nun mit den Kontingenten im Projekt rechnen.

Login auf HPC Cluster

  • Um Zugang zu den HPC Ressourcen zu bekommen ist (immer) eine VPN Verbindung in das TU-Netz notwendig
    • Das ZIH kann unter Absprache bestimmte IP Adressen (Bereiche) freischalten, dann ist von diesen Rechners keine VPN Verbindung mehr notwendig, z.B. für Labore der HTW Dresden
    • In der Zukunft plant das ZIH ein globales Loginsystem für Hochschulangehörige, um den Zugang von TU-externen Nutzern zu erleichtern
  • Es gibt zwei Möglichkeiten, um sich an HPC Ressourcen anzumelden:
    1. Login auf JupyterHub über den Browser. Die einfachste und schnellste Art die Ressourcen nutzen zu können. Eine umfassende Anleitung ist hier zu finden.
    2. Login via shell auf dem Login-Knoten ssh [zih-login]@taurus.hrsk.tu-dresden.de​​​​​​​​​​​​​​

Login via Shell

Login auf die Login-Knoten via ssh [zih-login]@taurus.hrsk.tu-dresden.de. Hier können Jobs eingerichtet und Verwaltet werden. Die Login sind nicht für rechenintensive Arbeiten geeignet. Von den Login-Knoten kann man Batch-System interagieren, z.B. Jobs einreichen und überwachen

Es gibt zwei Arten von Jobs:

  1. Interactive Jobs
    • Gut für Tests, Einrichten oder Compilieren
    • Beispiel:  srun –pty –p ml --ntasks=1 --cpus-per-task=4 –gres=gpu:1  --time=1:00:00 --mem-per-cpu=1700 bash -l

  2. Batch Jobs
    • ​​​​​​​Sobald die Testphase verlassen wird, werden dringend die Batch Jobs empfohlen

    • Job-Dateien werden an das Batch-System zur späteren Ausführung übergeben.

    • Eine Job-Dateien ist ein Skript, das die Ressourcenanforderungen, Umgebungseinstellungen und die Befehle für die Ausführung der Anwendung enthält.

Für weitere Informationen bitte hier klicken

Umgebung und Software

Es gibt verschiedene Möglichkeiten, mit Software auf ZIH-Systemen zu arbeiten:

  1. Module
    • Ein Modul ist eine Benutzerschnittstelle, die Hilfsprogramme für die Umgebung des Benutzers bereitstellt
    • Beispiel: Matlab kann mit folgendem Befehl geladen werden:
      • module load matlab
    • Für weitere Informationen, hier klicken
  2.  Jupyter Notebook
    • Jupyter-Notebook ist eine Webanwendung, mit der einfach Code, Gleichungen und Visualisierungen erzeugt werden können
    • Es gibt einen JupyterHub Dienst auf ZIH-Systemen, wo man sehr einfach Notebooks auf Rechenknoten mit Modulen, vorinstallierten oder benutzerdefinierten virtuellen Umgebungen ausführen kann (Anleitung)
    • Außerdem können manuell installierte JupyterServer für spezifischere Fälle betreiben werden
  3.  Container
    • Einige Aufgaben erfordern den Einsatz von Containern. Dies kann auf ZIH Systemen mittels Singularity erfolgen.

Speichersysteme

Speichersysteme unterscheiden sich in Bezug auf Kapazität, Streaming-Bandbreite, IOPS-Rate usw. Preis und Effizienz erlauben es nicht, alles in einem zu haben. Deswegen gibt es verschiedene Speichersysteme für verschiedene Anwedungsfälle. Außer home, project und ext4 müssen alle Speichersystem über Workspaces beantragt werden. Nachfolgend werden die verschiedenen Speichersysteme vorgestellt. Weitere Informationen sind hier zu finden.

Filesystem Directory Remarks Größe Backup  
home /home An jedem Ort Lese/Schreib Zugriff, für Source Code und persönliche Daten. 50 GB Ja  
project /projects Für globale Daten im Projekt. Alle Mitglieder haben Lese/Schreib Zugriff auf dem Login-Knoten. Auf den Compute-Knoten nur Lesezugriff. Bei Beantragung festgelegt. Ja  
scratch /scratch/ Hohe Streamingbandbreite, z.B. für Snapshots 4 PB Nein  
ssd /lustre/ssd/ Hohe I/O-Rate, für viele kleine I/O Operationen 40 TB Nein  
beegfs /beegfs/ Schnellstes verfügbares System, für parallele Anwendungen mit Millionen von kleinen I/O Operationen 232 TB Nein  
ext4 /tmp Für temporäre Daten, z.B. Kompilationen. Wird nachdem der Job beendet wird automatisch gelöscht. 95 GB Nein  
warm_archive /warm_archive Für Zwischenspeicher im Projekt, es wird nach Projektende gelöscht 10 PB Ja