Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen...

52
Marcel Riedel, Marcus Zelend, Danny Christl

Transcript of Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen...

Page 1: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Marcel Riedel, Marcus Zelend, Danny Christl

Page 2: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Aufgabenstellung

• Recherche von Tools für einen massiv-parallelen Clusterrechner

Page 3: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Was ist ein Cluster?

• Vernetzung mehrerer Einzelrechner• Knoten meist über schnelles Netz

verbunden• erscheinen in vielen Fällen nach

außen als ein einziger Rechner• Zweck des Clusterings:

– Erhöhung der Rechenkapazität– Erhöhung der Verfügbarkeit

Page 4: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Homogene vs. heterogene Cluster

• Homogene Cluster:– gleiche Hardware– gleiches Betriebssystem auf allen

Knoten

• Heterogene Cluster:– Es kommen Knoten mit unter-

schiedlicher Hardware und/oder unterschiedlichen Betriebssystemen zum Einsatz

Page 5: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Begriffe: MPI

• „Message Passing Interface“– Programmierschnittstelle für den

Nachrichtenaustausch zwischen Knoten eines verteilten Systems

– mehrere Prozesse arbeiten an einem Problem und schicken sich dabei gegenseitig Nachrichten

– Nachrichtenaustausch z.B. über TCP oder gemeinsamen Hauptspeicher

– Implementierungen z.B. in C++, Java, Python

Page 6: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Begriffe: SMP

• „Symmetric MultiProcessing“– Multiprozessor-Computerarchitektur– 2 oder mehrere identische CPUs teilen

sich gemeinsamen Hauptspeicher– für massiv-parallele Cluster

ungeeignet– andere Multiprozessorarchitekturen:

• NUMA (Non-Uniform Memory Access)• ASMP (Asymmetric Multiprocessing)

Page 7: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Begriffe: SSI

• „Single System Image“

Page 8: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

High Performance Computing Cluster

• Hohe Rechenleistung durch gemeinsame, parallele Verarbeitung zu verarbeitender Jobs durch die Knoten

• Rechenleistung des Clusters= Summe der Leistung der einzelnen Knoten

• Schnellster Cluster: BCN Supercomputer-Center, Spanien10240 Knoten bringen 62,6TFLOPS

Page 9: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

• Verwendung:– Berechnung, Modellierung und

Simulation komplexer Systemez.B. Wettervorhersage, Klimamodelle

– Verarbeitung riesiger Messdatenmengen

– Erstellung komplexer 3D-Modelle und Animationsfilme

High Performance Computing Cluster

Page 10: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Hardwarekonzept

• Homogener Knotenaufbau• Ein Master-Node und beliebig viele

Compute-Nodes• Distributed Memory-Architektur• Einzelnen Knoten enthalten nur

essentielle Komponenten • Vernetzung über

Hochgeschwindigkeitsnetz z.B. Inifiniband

Page 11: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Softwarekonzept

• Als OS fast ausschließlich Linux im HPC-Bereich

• Dateisystem– NFS für kleine und mittlere Cluster– CXFS, Lustre, Polyserve für große

Cluster• Boot-From-LAN-Konzept für

Compute-Nodes• Clustertools übernehmen Verwaltung

Page 12: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Softwarekonzept

• Clustertools übernehmen Verwaltung– Power-Management– Automatische Suche nach neuen

Knoten– Job-Management, Batch-Queue-System– MPI-Implementierung

Page 13: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Funktionsweise• Dekomposition: Zerlegung

komplexer Aufgaben in Teilaufgaben• Job-Management-System auf

Master-Node erledigt Zuteilung und Queueing der Teilaufgaben für die Compute-Nodes

• Abarbeitung der Teilaufgaben auf den Compute-Nodes

• Zusammenfügen der Ergebnisse auf dem Master-Node

• Kommunikation zwischen den einzelnen Knoten erfolgt über MPI

Page 14: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Hochverfügbarkeits-cluster (HA-Cluster)

• Stellen ständig Daten und Dienste zur Verfügung

• 2 Arten: Aktiv-/Aktiv-Cluster Aktiv-/Passiv-Cluster

• Festplatten – und Serverausfälle minimieren

• Zusätzliche Rechner im System• Keine Verringerung der

Systemleistung, dafür hohe Kosten und etwas längere Ausfallzeit

Page 15: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

• Verwendung in Servern, gekoppelt mit einem NAS (Network Attached Storage ), die Dienste (Web-, Datenbank-, FTP- und Mail-Server )

• Ausfall Internetpräsenz bedeutet: hoher wirtschaftlicher Schaden und Imageverlust

Page 16: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Aktiv-/ Passiv-Cluster

• Ersatzknoten ohne Funktion (StandBy)

• Bei Ausfall: Deaktivierung des Hauptsystems (Reparatur) und Aktivierung des Ersatzsystems

• Clustermanager verteilt Aufgaben neu

Page 17: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.
Page 18: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Aktiv-/ Aktiv-Cluster• Alle Knoten teilen sich Aufgabe• Bei Ausfall: Entfernen des defekten

Rechners logisch aus dem System • Restliche Knoten teilen sich die

Aufgaben des Ausfallrechners, gesteuert durch den Clustermanager (evtl. Neustarten der Prozesse)

• Verringerung der Systemleistung, aber sehr kleine Ausfallzeit

Page 19: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.
Page 20: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Clustermanager für HA-Cluster

Veritas Cluster Manager

Red Hat Cluster Manager (Linux)

Microsoft Cluster Service

Page 21: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Shared Memory

Page 22: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Shared Memory• Alle Knoten greifen auf gemeinsamen

Speicher zu• Verbindungsnetz stellt nötige

Protokolle für gleichzeitigen Speicherzugriff verschiedener Knoten bereit

• Zugriffsweise aller Knoten ist identisch Latenzzeit stets gleich

• Verbindungsnetzwerk wird Flaschenhals bei hoher Knotenzahl

• Kann über PVM als ein großer Parallelrechner angesprochen werden

Page 23: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Verwendung von Shared Memory

• Verwendung der Shared Memory Architektur bei:– Cluster mit geringer Knotenzahl– Aufgaben mit geringem

Datenaufkommen– Programmen, deren

Parallelisierung zu aufwändig ist

Page 24: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Distributed Memory

Page 25: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Distributed Memory

• Jeder Knoten besitzt eigenen Arbeitsspeicher

• Kein Zugriff auf „fremden“ Speicher Informationsaustausch über Nachrichten über MPI

• Nachteil: erhöhter Programmieraufwand, da explizites Ansprechen und Verwaltung der verteilten Ressourcen notwendig

Page 26: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Verwendung von Distributed Memory

• Verwendung der Distributed Memory Architektur bei:– Cluster mit hoher Knotenzahl– Aufgaben mit hohem

Datenaufkommen– Parallelisierte Programme bereits

vorhanden bzw. Neuentwicklung

Page 27: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Beowulf-Cluster

• HPC-Cluster mit folgenden Eigenschaften:– Knoten sind einfache vernetzte

Desktop-PCs– Kommunikation über TCP/IP– Betriebssystem: Linux / BSD

Page 28: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Beowulf-Cluster

Page 29: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Vor- und Nachteile von Beowulf-Cluster• Vorteile:

– Problemlose Skalierbarkeit– Lösen komplexer Aufgaben mit

billiger COTS-Hardware– Austausch defekter Rechnerknoten

im laufenden Betrieb möglich• Nachteile:

– Hoher Platzbedarf– Hoher Energieverbrauch– Hohe Wärmeentwicklung

Page 30: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Beowulf-Cluster CLiC

Page 31: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

OpenMosix (ClusterKnoppix)

Page 32: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.
Page 33: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

• Kernelpatch für Linux• Userland Tools (zur Administration)• Arbeitet als SSI-Cluster (Single System

Image)• Clusterrechner und normale Personal-

Computer können verwendet werden• Betrieb ohne HDD möglich (PXE-fähig)• Kein Master oder Serverrechner (Nodes

gleichberechtigt)• Auslastung erreicht durch regelmäßige

Multicast-Messages• Erscheint für den Nutzer als Multi-CPU-

System

Page 34: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

• Prozessbearbeitung:– Prozess wird auf einem System

gestartet (Home Node)– Prozess überschreitet Lastgrenze

(einstellbar)– Rechner prüft auf nicht ausgelastete

Nodes im Cluster– Gefunden-> Migration des Prozesses

auf den gefunden Rechner– Speicherseiten des Home Nodes

werden kopiert und über das Netz an den gefundenen Rechner geschickt

– Kernel kopiert Seiten in den RAM

Page 35: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

– Prozess wird auf Rechner fortgesetzt– Auf Home Node bleibt Deputy (Sheriff)

zurück -> zum Abfangen der Systemaufrufe des Prozesses

Page 36: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.
Page 37: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

• oMFS (openMosix File-System)– Prozesse mit ständigen Zugriff auf

Daten müssten jedes Mal auf den Home Node zurück migriert werden

– Starke Zunahme der Netzwerklast und starke Performanceeinbußen

– oMFS macht Daten clusterweit bekannt

– In aktueller openMosix-Version ersetzt durch GFS (Global File System )

Page 38: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

• Fazit:– Ungeeignet für vorherrschendes

System, da zu viele Knoten– Unüberschaubar– Starke Performanceeinbußen durch

erhöhte Netzwerklast (Multicast-Messages)

Page 39: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

• SSI-Betriebssystem für Cluster (Modulpaket, Linux-Kernelpatch)

• Verbund herkömmlicher PCs zu symmetrischem Multiprozessor-system (SMP)

• speziell für wissenschaftliche numerische Berechnungen

Kerrighed

Page 40: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

• Clusterweites Prozessmanagment• Unterstützung für clusterweites

Shared Memory• Cluster File System• Transparentes Prozess-

Checkpointing• Hohe Verfügbarkeit der User-

Anwendungen• Einstellbare SSI-Features

Kerrighed

Page 41: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

• Fazit:– Systeme mit SMP-Architektur sind

für massiv-parallele Rechner (mehr als 16 CPUs) nicht geeignet

– Online-Dokumentation wenig aussagekräftig

Kerrighed

Page 42: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

ParallelKnoppix

Page 43: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

• vor allem für Cluster-Neulinge geeignet (ausführliches Tutorial)

• Einsatz von Live-CD, Master-Knoten auch in virtueller Maschine

• keine Software-Installation auf den Client-Knoten nötig

• mehrere MPI-Implementierungen (openMP, LAM-MPI, MPICH)

ParallelKnoppix

Page 44: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

OSCAR

• Open Source Cluster Application Resources

• Projekt der OpenClusterGroup• Sammlung von Softwarepakten zum

einfachen Aufbau von Clustern auf Basis von PVM / MPI mit umfangreichen Werkzeugen für Clustermanagement und Analyse

Page 45: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

OSCAR

• Implementierung der aktuellen „best-known practices“ für HPC-Cluster ständige Weiterentwicklung

• Nutzbar unter verschiedenen Linuxdistributionen

• Geeignet für nichtspezialisierte HPC-Cluster mit Knotenanzahl zwischen 4 und 100

• Durch PVM auch in heterogenen Umgebungen lauffähig

Page 46: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Komponenten von OSCAR

• C3 – Cluster Command Control• LAM/MPI• PVM• Maui PBS Scheduler• OpenSSH• OpenSSL• SIS – System Installation Suite

Page 47: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

C3 – Cluster Command Control• Interface zum Management von

Cluster• Enthält Kommandozeilen-Tools zur

schnellen, effektiven Cluster-Verwaltung

Page 48: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

LAM/MPI

• LAM – eine spezielle MPI-Implementierung

• Unterstützt MPI V1.2 und Teile von MPI V2 sowie aktives Debugging

• Volle Kompatibilität zu anderen MPI-Implementierungen

• Unterstützte Funktionen:Checkpoint/Restart, High Performance Communication, Integration von PBS, Easy Application Debugging

Page 49: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Weitere Komponenten• SIS – System Installation Suite

– Ermöglicht automatisierte Installation und Konfiguration von HPC-Cluster

– Nachträgliche Änderung der Einstellungen leicht möglich

• PVM (Parallel Virtual Machine)– Alternative zu MPI– Parallelrechner wird emuliert

• Maui PBS Scheduler– Erweiterter Job-Scheduler mit

• verschiedene Queue-Richtlinien,• dynamische Job-Prioritäten• Gleichbereichtigungsalgorithmen

Page 50: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Maui PBS Scheduler

Page 51: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Beurteilung von OSCAR

• geeignet für vorliegendes System• Enthält alle nötigen Tools zur

Einrichtung, Wartung und Betrieb• Aber:

– Clustergröße bereits am oberen Ende der von OSCAR unterstützten Cluster

– Keine Angabe zu Power Management, evtl. Zusatztools nötig

Page 52: Marcel Riedel, Marcus Zelend, Danny Christl. Aufgabenstellung Recherche von Tools für einen massiv-parallelen Clusterrechner.

Fazit• Keine zufriedenstellende Lösung

gefunden• für spezielle Problem ist eine

“Massen”-Lösung im OpenSource/Freeware-Bereich unmöglich

• Anpassung von Clustersoftware über kommerzielle Firmen stellt sich als beste Lösung heraus