Paralleles Computing Flashcards
Welche Ziele verfolgt man mit Parallelisierung
- Aufgaben in kürzerer Zeit erledigen
- Algorithmen mit großem Speicherbedarf realisieren
- Redundanz/Fehlertoleranz
- Genauere Resultate in kürzerer (vertretbarer Zeit) erzielen (Komplexe Aufgabenstellungen)
In welcher Beziehung stehen Algorithmus und Architektur zueinander
- Entwurf algorithmenspezifischer Hardware
- Performance Voraussagen für Algorithmen auf spezifischer Hardware
- Evaluierung paralleler Architekturen
- Parallele Maschinen entwerfen, die algorithmus- und systemzustandsunabhängig sind
Womit befasst sich Rechnerarchitektur
Analyse, Bewertung, Entwurf und Synthese von Rechnern und Rechnerkomponenten
Welche Teilbereiche werden in einer Rechnerarchitektur untersucht
Struktur: Anzahl von Prozessoren, Speichereinheiten, etc. –> Eigenschaften
Organisation: Steuerungsaspekte, Organisationsform von Caches
Implementierung: Möglichkeit der Realisierung einer spezifischen Architektur/ Probleme dabei, erzielbare Leistung
Auf welchen drei Ebenen kann eine Rechnerarchitektur betrachtet werden?
Systemebene: Konfiguration von Prozessoren, Speichern, IO-Systemen
Befehlssatzebene: RISC, CISC, VLIW, Zusammenarbeit mit Betriebssystem und Compilern
Mikroarchitekturebene: Entscheidung über Prozessorimplementierung
Beschreiben Sie den klassischen Universalrechner nach von Neumann
Rechenwerk + Speicherwerk + Leitwerk + E/A-Werk
- Unabhängigkeit (universelle Einsetzbarkeit) von Algorithmus
- Befehl laden -> Befehl entschlüsseln -> Befehl ausführen
- Adressen wie Daten behandelbar
- Programme zusammen mit Daten -> Speicherbelegung
Leistungsengpass durch einmaliges Vorkommen der zentralen Komponenten -> streng sequenzielle Abarbeitung
Beschreiben Sie die Taxonomie nach Flynn
Aufteilung in Befehls (Steuerinformation Rechenwerk) und Datenstrom
4 Klassen: SISD, SIMD, MISD, MIMD
Wie funktioniert ein SIMD-Rechner, wozu ist er geeignet?
Single Instruction Multiple Data
- Gleiche Operation auf mehrere Daten ausführen, synchrone Befehlsausführung auf unterschiedlichen Daten
- Bsp.: Illiac IV, MasPar M
- gut geeignet für Matrizen/Vektor-Operationen
–> GPU, Bildbearbeitung
Was verstehen Sie unter der MMX von Intel Prozessoren
Multimedia Extension:
Befehlswörter der Länge von bis zu 64 Bit, darin entweder 8 8-Byte op, 4 16-Byte op, etc.
- Möglichkeit mit einem Befehl zwei Pixelpaare mit RGB-Werten miteinander zu verrechnen
Was verstehen Sie unter MISD
Multiple Instruction Single Data
–> spezieller Modus von MIMD (Prozessorpipelining)
Woraus besteht ein einfaches Parallelrechnermodell
Processing Elements (PEs): mit eigenem lokalen Speicher
Memory Modules (MMs): gemeinsamer Speicher
Interconnection Structure (ICS): Verbindungsnetzwerk
Definieren Sie paralleles Prozessorsystem
Menge von PEs und MMs, welche über ein Verbindungsnetzwerk verbunden sind und so kooperieren können, um gemeinsam Algorithmen zu lösen
Definieren Sie paralleles Rechnersystem
Paralleles Prozessorsystem + Softwarekomponenten (Betriebssystem, Compiler, Bibliotheken)
Wie ist die generelle Vorgehensweise zum Entwurf eines parallelen Algorithmus?
Ausgangspunkt: Sequenzieller Algorithmus
- Zerlegung der Berechnung
in parallel ausführbare Tasks (kleinste parallel ausführbare Einheit) - Bildung von Prozessen
Zuweisung Tasks an Prozesse –> Scheduling (dynamisch/statisch) - Mapping von Prozessen auf Prozessoren
gleichmäßige Verteilung Prozesse auf Prozessoren
Auf welchen drei (Granularitäts-)Ebenen kann man Parallelität erzielen?
Instruktionsebene - feinkörnig
Schleifenebene - mittelkörnig
Prozedurebene - grobkörnig