Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Helfried Katt Geändert vor über 10 Jahren
1
Clustering Clustering mit openMosix von Christian Wiese Stefan Krause
2
Übersicht ● Begriffsdefinitionen ● Cluster-Typen ● Realisierung ● PVM ● MPI ● openMosix ● Demonstration openMosix Cluster
3
Begriffsdefinitionen ● Parallele Datenverarbeitung Konzept zur Steigerung der Ausführungs- geschwindigkeit eines Programms durch Aufteilung des Programms in n Fragmente, die simultan ausgeführt werden können. ● Cluster (als Spezialisierung eines VS) Lose gekoppelter Verbund aus n Rechen- systemen (Knoten), die parallele Daten- verarbeitung durchführen.
4
Cluster-Typen ● Fail-over Cluster ● Hochverfügbare Dienste ● Load-balancing Cluster ● Fokus liegt auf Auslastung einzelner Knoten ● Verteilung von Anfragen an wenig ausgelastete Knoten. ● z.B. bei stark frequentierten Webservern ● meistens mehr Knoten als ein Fail-over Cluster
5
Cluster-Typen ● HPC (High Performance Computing) Cluster ● Knoten sind auf hohe Performance ausgelegt ● Geschwindigkeitsgewinn durch Parallelisierung / Verteilung von Prozessen auf n Knoten
6
Realisierung ● PVM ● MPI ● openMosix
7
PVM – Parallel Virtual Machine ● Ermöglicht die kooperative Nutzung einer Menge von Rechensystemen zur Durchführung von nebenläufigen / parallelen Berechnungen in heterogenen Umgebungen ● architekturunabhängig ● besteht aus Software-Tools- und Bibliotheken ● entstand als Forschungsprojekt ● Designziel: Portabilität
8
PVM - Prinzipien ● Benutzer kann Knoten der PVM definieren ● für PVM-Applikation ist Abstraktion von der Hardware optional (Bestimmte Tasks können auf der geeignetsten Hardware ausgeführt werden) ● Explizierter Nachrichtenaustausch ● Nachrichtenlänge nicht begrenzt ● Multi-Prozessor Unterstützung
9
PVM – Architektur I PVM daemon PVM library Application PVM daemon PVM library Application
10
PVM – Architektur II Maste r Slav e Master - Slave Node-only Node 1 Node 4 Node 3 Node 2
11
MPI – Message Passing Interface ● Spezifikation einer Bibliothek zum Nachrichtenaustausch ● Standardisiert ● Komitee aus 40 Experten aus F&E ● viele Implementationen verfügbar ● MPICH, LAN ● Entwicklungsgrund: viele proprietäre APIs von MPP-System-Herstellern für den Nachrichtenaustausch verhindern portable parallele Applikationen ● Designziel: Performance
12
openMosix ● Kernelerweiterung für SSI-Clustering ● für UP und SMP Knoten verbunden durch LAN (Ethernet, Gigabit-Ethernet, ATM) ● adaptive Algorithmen für Ressourcenteilung ● preemptive / transparente Prozessmigration zur Lastverteilung ● verhindert Thrashing bei Knoten
13
openMosix - Ziele ● Cluster-Performance optimieren ● Multi-User Umgebung realisieren ● sequentielle / parallele Applikationen ausführen ● Kompatibilität: keine Anpassung von vorhandener SW notwendig ● keine Abhängigkeiten von Bibliotheken (vgl. PVM & MPI) ● dynamische Konfiguration der Knoten-Menge
14
openMosix - Kernelalgorithmen ● Ressourcenverwaltung ● Lastverteilung ● Speichermanagement ● Prozessmigration
15
openMosix - Ressourcenverwaltung ● Speichermanagement ● max. Anzahl von Prozessen in RAM -> Vermeidung Thrashing & Swapping ● Algorithmus wird bei starken Paging angestoßen -> Prozess wird zu Knoten mit ausreichend Speicher migriert ● Lastverteilung ● Mathematisches Modell aus Wirtschaftswissenschaften ● Totale Auslastung heterogener Ressourcen (CPU, Speicher, Bandbreite) wird mit „Kostenfunktion“ abgebildet
16
openMosix – Prozessmigration I Deputy Link-Layer User Kernel Remote Link-Layer UHN
17
openMosix – Prozessmigration II ● User-Kontext / Remote (migierbar) Programmcode, Stack, Daten, Register ● System-Kontext / Deputy (UHN abhängig) verwendete Ressourcen, Kernel-Stack ● Link-Layer ● Kommunikation zwischen Remote & Deputy ● Systemaufrufe, Signale, Daten ● Read-ahead caching, bei Remote-Kopiervorgängen -> Overhead-Vermeidung ● Remote-Prozesse (auf entfernten Knoten) sind von anderen Prozessen auf diesem Knoten isoliert
18
openMosix - Dateizugriff ● Direct File System Access (DFSA) ● Designziel: Overhead-Vermeidung ● wenn möglich werden Systemaufrufe lokal ausgeführt ● arbeitet mit Lastverteilung zusammen. I/O lastige Prozesse werden auf Knoten migriert, auf dem sie die meisten I/O-Operationen durchführen
19
openMosix - Installation ● openMosix-Kernel-Patch anwenden ● User-Tools installieren ● Knoten neu booten Alternative: ● Terminal Server aufsetzen, der Kernel und Root-FS für Knoten zur Verfügung stellt ● Knoten booten über LAN vom Terminal Server
20
Quellen ● PVM http://www.csm.ornl.gov/pvm/pvm_home.html ● MPI http://www-unix.mcs.anl.gov/mpi/ www.csm.ornl.gov/pvm/PVMvsMPI.ps ● openMosix http://openmosix.sourceforge.net/ ● Howtos http://www.ibiblio.org/pub/Linux/docs/HOWTO/ other-formats/html_single/ ● openMosix : openMosix-HOWTO.html ● Linux Parallel Processing : Parallel-Processing-HOWTO.html ● Linux Cluster : Cluster-HOWTO.html
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.