Was sind die verschiedenen Arten der Parallelverarbeitungstechnologie?
Parallelverarbeitung ist eine Art von Computerverarbeitung, bei der große Rechenaufgaben in kleinere Unteraufgaben aufgeteilt werden, die dann gleichzeitig oder parallel und nicht nacheinander verarbeitet werden. Diese Technologie wird in der modernen Datenverarbeitung häufig eingesetzt, insbesondere bei fortgeschrittenen Problemen, wie sie beispielsweise in den Naturwissenschaften auftreten. Beispiele für die Parallelverarbeitungstechnologie in einem einzelnen Gerät sind symmetrische Mehrprozess- und Mehrkernverarbeitung. Mehrere Computer können auch miteinander verbunden werden, um durch Methoden wie verteiltes Rechnen, Computercluster und massiv parallele Computer parallel zu arbeiten.
Ein symmetrischer Multiprozessor ist ein Computer mit einem einzigen gemeinsamen Hauptspeicher und einer Betriebssysteminstanz, die mit mehreren identischen Prozessoren verbunden sind. Die Prozessoren verfügen über dieselben Funktionen und sind mit einem gemeinsamen Speicher verbunden, sodass Aufgaben nach Bedarf einfach zugewiesen oder neu zugewiesen werden können, um die Arbeitslast zwischen ihnen zu verteilen. Bei der Multicore-Verarbeitung enthält jeder Prozessor mindestens zwei als Kerne bezeichnete Zentraleinheiten (Central Processing Units, CPUs), die für das Lesen und Ausführen von Anweisungen zuständig sind. Im Wesentlichen besteht ein Multicore-Prozessor aus mehreren Prozessoren in einer einzigen integrierten Komponente. Dies ermöglicht eine schnellere und effizientere Kommunikation zwischen Prozessorkernen im Vergleich zu Multiprozessor-Computern, bei denen jede CPU eine separate Komponente ist.
Multiprozessor-Computer sind in wissenschaftlichen und geschäftlichen Anwendungen weit verbreitet. In Personalcomputersystemen, bei denen es sich in der Regel um Einprozessor-Designs handelt, ist dies seltener der Fall, obwohl Multiprozessoren auf dem Verbrauchermarkt häufiger auftreten. Computersoftware muss speziell für Multiprozessor-Computer entwickelt werden, damit sie ihre Vorteile voll ausschöpfen kann. Infolgedessen treten bei dieser Art von Software häufig Leistungsprobleme auf einem Einzelprozessor-Computer auf. Ebenso profitieren Programme, die für einen einzelnen Prozessor geschrieben wurden, in der Regel nur in begrenztem Umfang von der Mehrfachverarbeitung, da sie nicht dafür ausgelegt sind, diese Vorteile zu nutzen.
Die verteilte Parallelverarbeitungstechnologie verwendet mehrere, ansonsten unabhängige Computer, die parallel an verschiedenen Teilen eines Problems arbeiten und über das Internet oder ein internes Netzwerk miteinander verbunden sind, sodass sie miteinander kommunizieren können. Diese Art der Parallelverarbeitungstechnologie kann mit Computern verwendet werden, die physisch voneinander entfernt sind, obwohl dies nicht immer der Fall sein muss. Die miteinander verbundenen Computer bilden zusammen ein sogenanntes Rechenraster.
Computational Grids können sehr groß sein und möglicherweise Tausende von Computern enthalten, die auf der ganzen Welt verteilt sind. Diese Computer arbeiten möglicherweise auch zur gleichen Zeit an nicht verwandten Problemen. Die Aufgaben, die vom Grid ausgeführt werden, werden auf die Computer verteilt, je nachdem, wie viel freie Verarbeitungskapazität jeder Computer zu diesem Zeitpunkt hat. Grid-Computing unterscheidet sich von den meisten anderen modernen Parallel-Computing-Systemen dadurch, dass ein einzelnes Grid häufig eine Vielzahl von Computern mit unterschiedlichen Fähigkeiten enthält und keine Gruppe identischer Einheiten.
Computercluster sind eine Form der Parallelverarbeitungstechnologie, bei der mehrere miteinander verbundene Computer mit normalerweise identischen Funktionen als eine Einheit eng zusammenarbeiten. Im Gegensatz zur symmetrischen Mehrfachverarbeitung, bei der mehrere Prozessoren verwendet werden, die einen gemeinsamen Speicher und ein gemeinsames Betriebssystem verwenden, ist jede einzelne Einheit in einem Cluster ein vollständiger Einzelcomputer. Diese befinden sich normalerweise am selben geografischen Standort und sind mit einem lokalen Netzwerk verbunden. Einige Computer sind speziell für die Verwendung in Computerclustern konzipiert. Cluster können jedoch auch durch Verknüpfung von Computern gebildet werden, die ursprünglich für den autonomen Betrieb konzipiert wurden.
Massiv parallele Computer haben einige Ähnlichkeiten mit Clustercomputern, da sie auch aus mehreren Computern bestehen, die miteinander verbunden sind, aber viel größer sind und normalerweise Hunderte oder Tausende von Knoten enthalten. Sie haben auch ihre eigenen speziellen Komponenten, die die einzelnen Computer miteinander verbinden, während Computercluster durch handelsübliche Standardhardware miteinander verbunden sind, die häufig als Standardkomponenten bezeichnet wird. Die fortschrittlichsten massiv parallelen Computer können wirklich gewaltig sein und Zehntausende von Einzelcomputern enthalten, die Tausende von Quadratfuß Raum ausfüllen und alle zusammenarbeiten. Die meisten modernen Supercomputer der Welt, die für komplexe Berechnungen in Bereichen wie der Astrophysik und der globalen Klimamodellierung verwendet werden, sind von diesem Typ.