Was ist massiv-parallele Verarbeitung?

Massiv-parallele Verarbeitung (MPP) ist ein Verarbeitungsparadigma, bei dem Hunderte oder Tausende Verarbeitungsknoten parallel an Teilen einer rechenintensiven Aufgabe arbeiten. Jeder dieser Knoten führt einzelne Instanzen eines Betriebssystems aus. Sie nutzen eigene Ein- und Ausgabegeräte, aber keinen gemeinsamen Speicher. Rechenintensive Aufgabe werden durch Kommunikation über eine Hochgeschwindigkeitsverbindung gelöst.

Diagramm zur massiv-parallelen Verarbeitung

Unternehmen, die mit riesigen Mengen ständig zunehmender Daten zu tun haben, verarbeiten ihre Daten mit massiv-paralleler Verarbeitung. Stellen Sie sich zum Beispiel eine beliebte Versicherungsgesellschaft mit Millionen Kunden vor. Mit zunehmender Kundenzahl steigen auch die Kundendaten. Selbst wenn das Unternehmen massiv-parallele Verarbeitung nutzt, kann es zu Verzögerungen bei der Verarbeitung von Kundendaten kommen. Angenommen, ein Data Analyst führt eine Abfrage für 100 Millionen Zeilen einer Datenbank aus. Wenn das Unternehmen ein massiv-paralleles Verarbeitungssystem mit 1000 Knoten verwendet, trägt jeder Knoten nur 1/1000 der Rechenlast.

Modernisierung Ihrer Daten- und Analytik-Architektur
Modernisierung Ihrer Daten- und Analytik-Architektur
Sehen Sie sich diese 13 Anwendungsszenarien an, um zu erfahren, wie Sie die komplexe Daten- und Analyselandschaft von heute unterstützen können.

Was sind die wichtigsten Hardwarekomponenten für die massiv-parallele Verarbeitung?

Die Hardwarekomponenten eines massiv-parallelen Verarbeitungssystems müssen bekannt sein, damit die verschiedenen Architekturen verstanden werden.

Verarbeitungsknoten

Verarbeitungsknoten sind die Grundbausteine der massiven-parallelen Verarbeitung. Diese Knoten sind einfache, homogene Prozessorkerne mit einer oder mehreren Zentraleinheiten. Die Knoten können als einfache Desktop-PCs visualisiert werden.

Hochgeschwindigkeitsverbindung

Die Knoten in einem massiv-parallelen Verarbeitungssystem arbeiten parallel an Teilen eines einzelnen Rechenproblems. Sie arbeiten zwar unabhängig voneinander, müssen aber regelmäßig miteinander kommunizieren, damit sie das gemeinsame Problem lösen können. Diese Knoten brauchen eine Verbindung mit niedriger Latenz und hoher Bandbreite. Sie wird als Hochgeschwindigkeitsverbindung oder -bus bezeichnet. Es kann sich um eine Ethernet-Verbindung, eine faserverteilte Datenschnittstelle oder eine proprietäre Verbindungsmethode handeln.

Distributed Lock Manager (DLM)

Bei diesen massiv-paralleler Verarbeitungsarchitekturen, deren Knoten den externen Speicher oder Festplattenspeicher gemeinsam nutzen, koordiniert ein Distributed Lock Manager (DLM) die Ressourcenfreigabe. Der Distributed Lock Manager nimmt Ressourcenanforderungen von verschiedenen Knoten entgegen und verbindet die Knoten, wenn die Ressourcen verfügbar sind. In einigen Systemen gewährleistet der Distributed Lock Manager die Datenkonsistenz und die Wiederherstellung aller ausgefallenen Knoten.

Architektur(en) für massiv-parallele Verarbeitung

Die Architekturen für die massiv-parallele Verarbeitung gehören zu zwei Hauptgruppen, abhängig davon, wie die Knoten ihre Ressourcen teilen.

Shared Disk-Systeme

Jeder Verarbeitungsknoten im gemeinsam genutzten Festplattensystem verfügt über eine oder mehrere Zentraleinheiten (CPUs) und einen Direktzugriffsspeicher (RAM). Diese Knoten nutzen jedoch gemeinsam einen externen Speicherplatz zum Speichern von Dateien. Diese Verarbeitungsknoten sind mit einem Hochgeschwindigkeitsbus verbunden. Die Skalierbarkeit der gemeinsam genutzten Festplattensysteme hängt von der Bandbreite der Hochgeschwindigkeitsverbindung und den Hardwarebeschränkungen des Distributed Lock Managers ab.

Welche Vorteile bieten Shared Disk-Systeme?

Da alle Knoten eine einzige externe Datenbank nutzen, wird das massiv-parallele Verarbeitungssystem hochverfügbar. Daten gehen selbst, wenn ein Knoten beschädigt ist, nicht dauerhaft verloren. Die gemeinsam genutzten Festplattensysteme sind einfacher, da sie keine verteilte Datenbank verarbeiten müssen. Neue Knoten können leicht in die gemeinsam genutzten Festplattensystemen eingefügt werden.

Welche Nachteile bergen Shared Disk-Systeme?

Da die Verarbeitungsknoten eine gemeinsame Festplatte nutzen, ist die Koordination des Datenzugriffs komplex. Das System benötigt einen Distributed Lock Manager. Die Kommunikation zwischen den Knoten nimmt eine gewisse Bandbreite der Hochgeschwindigkeitsverbindung in Anspruch. Die gemeinsam genutzte Festplatte benötigt ein Betriebssystem, das sie steuert. Dadurch entsteht zusätzlicher Aufwand.

Shared-Nothing-Systeme

Eine populärere Architektur für massiv-parallelen Verarbeitungssysteme ist die „Shared-Nothing“-Architektur. Die Verarbeitungsknoten verfügen über einen unabhängigen Arbeitsspeicher und eine Festplatte, auf der die erforderlichen Dateien und Datenbanken gespeichert sind. Die zu verarbeitenden Daten werden mit verschiedenen Techniken auf die Knoten verteilt.

Replizierte Datenbank: Bei dieser Methode besitzt jeder Verarbeitungsknoten eine vollständige Kopie der Daten. In diesem Modell ist das Risiko eines Datenverlusts gering, auch wenn einige Knoten ausfallen. Zudem steht in diesem Modell zusätzlicher Speicherplatz bereit.

Verteilte Datenbank: In diesem Modell ist die Datenbank in mehrere Slices unterteilt. Jeder Verarbeitungsknoten besitzt ein bestimmtes Segment der Datenbank und verarbeitet es. Diese Methode spart viel Festplattenspeicher, da es keine Redundanz gibt. Diese Methode ist jedoch komplexer als eine replizierte Datenbank. Hier werden zum Abschluss der Verarbeitung große Datenmengen zwischen den Knoten übertragen, wodurch sich der Verkehr auf dem Verbindungsbus erhöht. Bei diesem Modell kann es zu Datenverlusten kommen, da keine Redundanz besteht.

Zehn Dinge, die Sie über Daten-Virtualisierung wissen müssen
Zehn Dinge, die Sie über Daten-Virtualisierung wissen müssen
Lernen Sie die Kernwahrheiten über die Daten-Virtualisierung kennen, damit Sie Datenengpässe überwinden und bessere Ergebnisse erzielen können.

Welche Vorteile bieten „Shared-Nothing“-Systeme?

Shared-Nothing-Systeme können horizontal skaliert werden und so eine riesige Anzahl von Knoten einbeziehen. Da die Verarbeitungsknoten relativ unabhängig voneinander sind, ist das Hinzufügen eines neuen Verarbeitungsknotens einfacher. Wenn die Datenbank schreibgeschützt ist, sind „Shared-Nothing“-Systeme die perfekte Wahl. Der Ausfall eines Knotens wirkt sich nicht auf die anderen Knoten aus, denn sie sind nahezu unabhängig. Die Wahrscheinlichkeit einer Beschädigung der Datenbank ist bei „Shared-Nothing“-Systemen minimal.

Welche Nachteile bergen „Shared-Nothing“-Systeme?

Die „Shared-Nothing“-Systeme mit verteilten Datenbanken erfordern einen hohen Koordinationsaufwand zum Erfüllen einer gemeinsamen Aufgabe. Jeder Knoten besitzt Slices der Datenbank. Das Management der Datenbank kann sich als sehr komplex erweisen. „Shared-Nothing“-Systeme mit replizierter Datenbank sind nicht für Anwendungen mit enormen Datenanforderungen geeignet. Wenn für die Berechnung viele Datenänderungsoperationen wie das Einfügen und Verbinden von Daten erforderlich sind, kommt die „Shared-Nothing“-Architektur möglicherweise nicht in Frage.

Massiv-parallele Verarbeitung (MPP) im Vergleich zum symmetrischem Multiprozessorsystem (SMP)

Hinter massiv-paralleler Verarbeitung verbirgt sich ein lose verbundenes System, bei dem Knoten in einigen Fällen ohne Speicher arbeiten oder Festplattenspeicher gemeinsam nutzen. Ein massiv-parallele Verarbeitungssystem kann als eine Reihe unabhängiger Verarbeitungsknoten gedacht werden, die über einen Hochgeschwindigkeits-Verbindungsbus kommunizieren.

Das symmetrische Multiprozessorsystem ist ein einzelnes System mit mehreren, eng miteinander verbundenen Prozessoren. Diese Prozessoren nutzen das Betriebssystem, die E/A-Geräte und den Speicher gemeinsam. Symmetrische Multiprozessorsysteme sind oft günstiger als ein massiv-paralleles Verarbeitungssystem. Die Kapazität der Skalierung des symmetrischen Multiprozessorsystems ist jedoch begrenzt. Alle Verarbeitungsknoten beim symmetrischen Multiprozessorsystem teilen sich einen einzigen Speicherbus. Wenn die Anzahl der Prozessoren zunimmt, können Speicherengpässe auftreten, die das System eventuell verlangsamen. Massiv-parallele Verarbeitungssysteme sind teuer und komplex, aber sie können unendlich wachsen. Sie eignen sich hervorragend, wenn die Verarbeitungsaufgaben perfekt aufgeteilt werden können und lediglich minimale Kommunikation der Knoten erforderlich ist.