52
Marcel Riedel, Marcus Zelend, Danny Christl

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

Embed Size (px)

Citation preview

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