Paralleles Computing Flashcards

1
Q

Welche Ziele verfolgt man mit Parallelisierung

A
  • Aufgaben in kürzerer Zeit erledigen
  • Algorithmen mit großem Speicherbedarf realisieren
  • Redundanz/Fehlertoleranz
  • Genauere Resultate in kürzerer (vertretbarer Zeit) erzielen (Komplexe Aufgabenstellungen)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

In welcher Beziehung stehen Algorithmus und Architektur zueinander

A
  • Entwurf algorithmenspezifischer Hardware
  • Performance Voraussagen für Algorithmen auf spezifischer Hardware
  • Evaluierung paralleler Architekturen
  • Parallele Maschinen entwerfen, die algorithmus- und systemzustandsunabhängig sind
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Womit befasst sich Rechnerarchitektur

A

Analyse, Bewertung, Entwurf und Synthese von Rechnern und Rechnerkomponenten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Welche Teilbereiche werden in einer Rechnerarchitektur untersucht

A

Struktur: Anzahl von Prozessoren, Speichereinheiten, etc. –> Eigenschaften

Organisation: Steuerungsaspekte, Organisationsform von Caches

Implementierung: Möglichkeit der Realisierung einer spezifischen Architektur/ Probleme dabei, erzielbare Leistung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Auf welchen drei Ebenen kann eine Rechnerarchitektur betrachtet werden?

A

Systemebene: Konfiguration von Prozessoren, Speichern, IO-Systemen

Befehlssatzebene: RISC, CISC, VLIW, Zusammenarbeit mit Betriebssystem und Compilern

Mikroarchitekturebene: Entscheidung über Prozessorimplementierung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Beschreiben Sie den klassischen Universalrechner nach von Neumann

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Beschreiben Sie die Taxonomie nach Flynn

A

Aufteilung in Befehls (Steuerinformation Rechenwerk) und Datenstrom

4 Klassen: SISD, SIMD, MISD, MIMD

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie funktioniert ein SIMD-Rechner, wozu ist er geeignet?

A

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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was verstehen Sie unter der MMX von Intel Prozessoren

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was verstehen Sie unter MISD

A

Multiple Instruction Single Data

–> spezieller Modus von MIMD (Prozessorpipelining)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Woraus besteht ein einfaches Parallelrechnermodell

A

Processing Elements (PEs): mit eigenem lokalen Speicher
Memory Modules (MMs): gemeinsamer Speicher
Interconnection Structure (ICS): Verbindungsnetzwerk

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Definieren Sie paralleles Prozessorsystem

A

Menge von PEs und MMs, welche über ein Verbindungsnetzwerk verbunden sind und so kooperieren können, um gemeinsam Algorithmen zu lösen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Definieren Sie paralleles Rechnersystem

A

Paralleles Prozessorsystem + Softwarekomponenten (Betriebssystem, Compiler, Bibliotheken)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie ist die generelle Vorgehensweise zum Entwurf eines parallelen Algorithmus?

A

Ausgangspunkt: Sequenzieller Algorithmus

  1. Zerlegung der Berechnung
    in parallel ausführbare Tasks (kleinste parallel ausführbare Einheit)
  2. Bildung von Prozessen
    Zuweisung Tasks an Prozesse –> Scheduling (dynamisch/statisch)
  3. Mapping von Prozessen auf Prozessoren
    gleichmäßige Verteilung Prozesse auf Prozessoren
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Auf welchen drei (Granularitäts-)Ebenen kann man Parallelität erzielen?

A

Instruktionsebene - feinkörnig
Schleifenebene - mittelkörnig
Prozedurebene - grobkörnig

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was verstehen Sie unter einem Parallelen Programmiermodell?

A
  • Sicht auf Prozessor-/Rechnersystem
  • Unterstützung durch Programmiersprache, Laufzeitbibliothek

Kriterien:
- Parallelitätsebene
- Wie wird Parallelität spezifiziert
- Abarbeitung der parallelen Einheiten
- Informationsaustausch, Synchronisationsmöglichkeiten

17
Q

Was ist ein Prozess?

A

Codebereich + Datenbereich + Ausführungszustand

18
Q

Nennen Sie Formen der Prozessorganisation

A

Fork-Join-Konstrukt:
Parbeginn - Parend:
Master-Slave-Organisation:
Pipeline-Organisation
Baum-Struktur

19
Q

Was versteht man unter dem SPMD-Prinzip und in welchem Bezug steht es zu MPMD?

A

Single Programm Multiple Data
Alle Prozessoren haben gleichen Code
–> Unterscheidung der Ausführung über Prozessor-ID –> MPMD (Multiple Programm Multiple Data)

20
Q

Nennen Sie drei relevante Paradigmen der Parallelisierung

A

Compute-Aggregate-Broadcast
Geometrische Parallelisierung
Divide&Conquer

21
Q

Was verstehen Sie unter Distributed Computing und wie unterscheidet es sich von Parallel Computing

A

Parallel Computing: System organisatorisch abgeschlossen –> eine komplexe Maschine

Distributed Computing: Verbund mehrerer (heterogener) Systeme, schwache Bindung

22
Q

Was verstehen Sie unter Internet Computing

A

Nutzung CPU-Reserven von diversen über Internet verbundenen Computern zur Bearbeitung eines komplexen Problems

Bsp.: BOINC - Berkeley Open Infrastructure for Network Computing

Kriterien: Robustheit, Diversität (Client-Software verfügbar), Attraktivität

23
Q

Was verstehen Sie unter Grid Computing

A

Bearbeitung einer komplexen Problemstellung mit mehreren Rechnern über Bildung von dynamischen Nutzer-/Institutions- und Prozessorgruppen

  • koordinierte Nutzung gemeinsamer Ressourcen
  • koordinierte Lösung (kollaboratives Arbeiten)
24
Q

Was verstehen Sie unter Cluster Computing

A

Verbund von Rechnern zu einem Cluster, Verbunden über Gigabit-Ethernet, Nutzung lokaler verteilter Speicher)

  • sehr kostengünstig (Verwendung ausrangierter PCs)
  • TOP 500 Liste (75%)
25
Q

Welche Cluster-Dienste gibt es

A

Message-Passing-Bibliotheken: Ausführung von Programmen, Prozesserzeugung, Kommunikation von Prozessen, etc.

Batch-Systeme: Ausführen von Jobs auf dem Cluster

Cluster-Management-Systeme: Aufbau + Administration von Clustersystemen