Teil 8: Parallele Architekturen Flashcards
Nachteil der VNA
Es kann immer nur ein Maschinenbefehl geholt und verarbeitet werden -> Sequentialität
-> Lösung: parallele Ausführung
Ziel der parallelen Architekur
Überwindung von Einschränkungen, die durch die sequentielle Verarbeitung nicht paralleler Architekturen vorgegeben sind
Wichtigste Einschränkung einer sequentiellen Architektur
Leistung eines Rechnersystems
Skalierbarkeit bei Parallelschaltung von Rechnern
die Leistungssteigerung paralleler Rechnersysteme sollte möglichst proportional zur Anzahl der parallelen Einheiten sein
Warum ist umdenken der Softwareentwickler nötig?
nicht nur die Hardware muss paralleles Rechnen ermöglichen, auch die Software und Algorithmen müssen grundsätzlich für paralleles Rechnen konzipiert werden
Warum entwickelt man parallele Architekturen?
- getrieben durch Notwendigkeit immer höherer Rechenleistungen
- solch hohe Rechenleistungen sind meist nicht mit sequentiellen Architekturen erzielbar (siehe Supercomputer)
Wesentliche Gruppen von Anwendungen von Parallelrechnern
- Nicht-numerische Anwendungen
- > Suchmaschinen, verteilte DB - Numerische Anwendungen (mathematische Probleme und Simulationen)
- > Wettervorhersagen, Crash Tests
Parallelität in Algorithmen
- komplexe Probleme müssen in Teilaufgaben zerlegt werden die dann parallel bearbeitet werden können
Voraussetzungen für Parallelität
- Existenz ausnutzbarer Parallelität
- Erkennung der Parallelität
- Aufteilbarkeit in Teilaufgaben
- (physisches) Vorhandensein paralleler Verarbeitungseinheiten
Problem mit der Parallelität in Algorithmen
es gibt auch Probleme, die nicht in Teilaufgaben zerlegt werden können und deshalb nicht skalieren mit der Anzahl paralleler Verarbeitungseinheiten
Klassifikation von Parallelrechnern nach Flynn
Unterscheidung nach Datenströmen und Kontrollpfaden 1. SISD 2 SIMD 3. MISD 4. MIMD
single instruction, single data (SISD)
Von-Neumann-Rechner
single instruction, multiple data (SIMD)
Diese Rechner besitzen:
- ein Instruktionswerk
- mehrere unabhängige Rechenwerke von denen jedes mit eigenen Speicher verbunden ist.
Rechenwerke werden taktsynchron vom Instruktionswerk angesteuert und führen dieselbe Operation auf unterschiedlichen Daten aus.
Auch Feldrechner genannt (Großrechner, Supercomputer)
multiple instruction, single data (MISD)
Diese Rechner besitzen:
- Multiprozessorsystem, bei dem alle Prozessoren gleichzeitig verschiedene Befehle auf den Daten eines einzigen Datenstroms ausführen.
MIMD und SIMD meist besser für die PV (Großrechner, Supercomputer)
multiple instruction, multiple data (MIMD)
entspricht Kollektion eigenständiger Rechner, mit jeweils:
- Instruktionswerk-
- Rechenwerk
(Großrechner, Supercomputer)