Parallele Architekturen Flashcards
Parallele Rechnerarchitekturen
Ziel
Ziel: Überwindung von Einschränkungen, die durch die sequentielle Verarbeitung nicht-paralleler Architekturen vorgegeben sind
-wichtigste einschränkung: Leistung Rechnersystem
=> Leistungssreigerung paralleler Rechnersysteme sollte möglichst proportionial zur Anzahl der parallelen Einheiten sein (Skalierbarkeit)
-nicht nur Hardware, sondern auch Software und Algorithmen müssen für paralleles Rechnen konzipiert sein
Entwicklung paralleler Architekturen getrieben durch
-Notwendigkeit höherer Rechenleistungen
=> meist nicht mit sequentiellen Architekturen erzielbar (Supercomputer)
Zwei wesentliche Gruppen von Anwendungen von Parallelrechnern
-nicht numerische Anwendungen Verteilte Datenbanken Suchmaschinen,... -numerische Anwendungen (mathematische Probleme und Simulationen) Wettervorhersagen Erdbeben Crash-Test SETI@home
Parallelität in Algorithmen
-komplexe Aufgaben => Teilaufgaben
=> parallel bearbeiten
-Voraussetzungen für die Ausnutzung der Parallelität
Existenz ausnutzbarer Parallelität
Erkennung parallelität
aufteilbarkeit in Teilaufgaben
vorhandensein paralleler Verarbeitungseinheiten
=> nicht alle Probleme lassen sich in Teilaufgaben zerlegen=> nicht skalieren mit der Anzahl paralleler Verarbeitungseinheiten
Skalierung
manche Anwendungen skalieren nur bis zu einer bestimmten Anzahl von CPU-Kernen
Battlefield4,
Java,..
Klassifikation von Parallelrechnern nach Flynn
unterscheidung nach datenströmen und Kontrollpfaden
single instruction, single data (SISD)
single instruction multiple data (SIMD)
multilple instruction, single data (MISD)
multiple instruction, multiple data (MIMD)
SISD
single instruction single data
von-neumann-rechner
SIMD
single instruction, multiple data
Rechner mit
-Instruktionswerk und
- mehrere unabhängige Rechenwerke von denen jedes mit eigenen Speicher verbunden ist
Rechenwerke: taktsynchron vom Instruktionswerk angesteuert und führen dieselbe
Operation auf unterschiedlichen Daten aus
=> Feldrechner (Großrechner, Supercomputer)
MISD
multiple instruction, single data
Multiprozessorsystem, bei dem alle Prozessoren
gleichzeitig verschiedene Befehle auf den Daten eines einzigen Datenstroms ausführen.
MIMD und SIMD eignen sich meist besser für die Parallelverarbeitung. (Großrechner, Supercomputer)
MIMD
multiple instruction, multiple data
-Kollektion eigenständiger Rechner mit je Instrutkions- und Rechenwerk
(Supercomputer und Großrechner)
Typen von gemeinsamen Speicher
Uniform Memory Access (UMA): Alle Prozessoren benötigen dieselbe
Zugriffszeit auf den gemeinsamen Speicher.
Non-Uniform Memory Access (NUMA):
-Speichermodule lokal => ein Prozessor zugeordnet
Fernzugriff=> je ein Prozessor kann auf die Speicher anderer Prozessor zugreifen => höhere Zugriffszeit
Logisch: Gesamtheit der Speichermodule=> Einheit
technisch: keine Einheit
=> virtueller gemeinsamer Speicher
Warum Parallele Rechnerarchitektur
VNA kann immer nur einen Maschinenbefehl holen und bearbeiten => sequentiell
dieses Problem kann mit parallelen Rechnerarchitekturen gelöst werden
hohe Rechenleistung wird gebraucht
Flops
Leistung von supercomputern
Floating Point Operation per Second