Aus was besteht ein Parallelrechner?
Menge von Verarbeitungselementen, die in einer koordinierten Weise zusammenarbeiten um eine Aufgabe zu lösen
Welche typischen Verarbeitungselemente kann ein Parallelrechner beinhalten?
Gleichartige Rechenwerke
Spezialisierte Einheiten (z.B. Vektor-Pipeline)
Prozessorknoten eines Multiprozessors
Vollständige Rechner (Cluster)
Parallelrechner (=> bilden Meta bzw. Hypercomputer)
Welche Informationsströme gibt es nach Flynn?
Befehlsstrom
Datenstrom
Welche Rechnerklassen gibt es nach Flynn?
SI=Single Instruction
SD= SIngle Data
MI=Multiple INstruction
MD=Multiple Data
SISD (Einprozessorsystem, von-Neumann Architekturen)
SIMD (Vektorrechner, Ein programm viele Datenpunkte)
MISD (Menge ist praktisch leer, heterogene Systeme über eine Eingabe, Space Shuttle Board Computer wo untersch Rechnungen auf gleichen Daten)
MIMD (Multiprozessorsysteme)
Was ist ein Vektorrechner?
Rechner, mit (mindestens einer)pipelinearitgen Einheit zur Verarbeitung von Arrays aus Gleitpunktzahlen (Vektorpipelin
Was ist ein Multiprozessorsystem?
Rechner, die in die MIMD-Klasse fallen
Welche Arten von Multiprozessorsystemen gibt es?
Speichergekoppelte Multiprozessoren
Bei speichergekoppelten Multiprozessoren besitzen alle Prozessoren einen gemeinsamen Adressraum; Kommunikation und Synchronisation geschehen über gemeinsame Variablen
Nachrichtengekoppelte Multiprozessoren
Bei den nachrichtengekoppelten Multiprozessoren besitzen alle Prozessoren nur physikalisch verteilte Speicher und prozessorlokale Adressräume; die Kommunikation geschieht durch Austauschen von Nachrichten
Wie funktionieren speichergekoppelte Multiprozessoren?
Ein Adressraum
Kommunikation und Synchronisation über gemeinsame Variablen
Wie funktionieren nachrichtengekoppelte Multiprozessoren?
physikalisch verteilte Speicher
prozessorlokale Adressräume
Kommunikation durch Austauschen von Nachrichten
Kommplungsgrad nimmt ab, Programme müssen grobkörniger sein
Skalierbarkeit der Hardware nimmt zu
Welche Unterarten von speichergekoppelten Multiprozessoren kennen wir?
Uniform-memory-access-Modell (UMA):
Alle Prozessoren greifen gleichermaßen auf einen gemeinsamen Speicher zu, insbesondere ist die Zugriffszeit aller Prozessoren auf den gemeinsamen Speicher gleich
Bsp: Symmetrischer Multiprozessor (SMP): ein globaler Speicher
Non-uniform-memory-access-Modell (NUMA):
Die Zugriffszeiten auf Speicherzellen des gemeinsamen Speichers variieren je nach dem Ort, an dem sich die Speicherzelle befindet Die Speichermodule des gemeinsamen Speichers sind physikalisch auf die Prozessoren aufgeteilt
Bsp: Distributed-shared-memory-System (DSM): gemeinsamer Adressraum trotz physikalisch verteiltem Speicher
Welche Unterarten von nachrichtgekoppelten Multiprozessoren kennen wir?
No-remote-memory-access-Modell (NORMA)
Weitere Unterscheidung:
Uniform-communication-architecture-Modell (UCA):
Zwischen allen Prozessoren können gleich lange Nachrichten mit einheitlicher Übertragungszeit geschickt werden
Non-uniform-communication-architecture-Modell (NUCA):
Die Übertragungszeit des Nachrichtentransfers zwischen den Prozessoren ist je nach Sender- und Empfänger-Prozessor verschieden lang
Zugriffszeit-/Übertragungszeit-Modelle Schaubild
speichergekoppelt vs nachrichtengekoppelt bei verteilten Systemen
Distributed-shared-memory-Systeme sind NUMAs (Non-uniform- memory-access-Modell): Die Zugriffszeiten auf Speicherzellen des gemeinsamen Speichers variieren je nach Ort, an dem sich die Speicherzelle befindet.
Bsp NCC NUMA (Non Cache Coherent), CC NUMA (Cache coeherent)
Nachrichtengekoppelte Multiprozessoren sind NORMAs (No- remote-memory-access-Modell) oder shared-nothing-Systeme, z.B. IBM RS/6000 SP
Programmierbarkeit speichergekoppelt vs nachrichtengekoppelt
Zugriff auf gemeinsame Variablen
Synchronisation notwendig
Multithreading: leichtgewichtige Prozesse
Durchgängiges Konzept für Workstations, Multiprozessor-Workstations
(SMPs) und die großen DSM-Multiprozessoren aller Arten
Prozesse kommunizieren über expliziten Nachrichtenaustausch
Heutige, weit-verbreitete Standards: MPI (v3.1 June 2015)
-> Speichergekoppelte Systeme gelten als leichter programmierbar als die nachrichtengekoppelten Systeme
Durch die enge Kopplung bei DSM- und insbesondere bei SMP-Systemen sind auch relativ kommunikations- und synchronisationsaufwendige parallele Programme effizient ausführbar
großes Schaubild Systeme
Zuletzt geändertvor einem Jahr