P A R A L L E L -
V E R A R B E I T U N G
Programmierung
Algorithmen
Arithmetik
Arith- metische Ausdrücke Addition
Multiplika- tion Division
fundamentale Algorithmen
Präfix- summen
Pointer- Jumping
Symmetrie- brechung
Sortieren und Ordnen
List-Ranking
bitonisch
Merge-Sort
Entwurfsmethoden
algorithmische
Divide-and- Conquer
Pipelining
Accelerated- Cascading
hardware- spezifische
Sprach- unterstützung
OpenMP
MPI
Theorie
Ressourcen
Zeit Effizienz
Kosten Arbeit
Prozessoren
Schaltkreis- Größe
Schaltkreis-Tiefe
Untere Schranken
P-Vollständigkeit
Adversary- Argumente
Modelle Schaltkreise
NC-Klassen
AC-Klassen
Netzwerk-
Modell Topologie
Message- Passing
PRAM-Modell
CRCW
CREW EREW
Technik Shared-Memory- Architektur
Distributed- Memory-Architektur Array-Computer
Veranstaltungskarte
CS3051, CS4502 Parallelverarbeitung, SS 2018
Veranstaltungsziele
–Aufbau und Funktion paralleler Systeme kennen
–Parallele Algorithmen entwerfen und implementieren können –Parallele Systeme analysieren können
–Grenzen der Parallelisierbarkeit kennen
April 2018
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Mai 2018
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Juni 2018
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Juli 2018
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Einführung Parallel-Programmierung Analyse & Methodiken Algorithmik Untere Schranken
Probleme und parallele Programme
1 Probleme und parallele Programme
–Grundidee des parallelen Algorithmus verstehen –Probleme bei der Parallelisierung erkennen
Parallele Architekturen
2 Parallele Architekturen
–Grundaufbau paralleler Architekturen verstehen –Einsatzzwecke verschiedener Architekturen kennen –Formale Modelle paralleler Architekturen kennen
Parallele Sprachkonstrukte
3 Parallele Sprachkonstrukte
–Syntax der Grundkonstrukte von OpenMP beherrschen
–Semantik der Grundkonstrukte von OpenMP verstehen
–Eigene Programme mit OpenMP erstellen können
Paralleler Entwurf
4 Paralleler Entwurf
–Designmethodik von Foster kennen
–Die Methodik auf Beispiele anwenden können
Parallele Basisalgorithmen
5 Parallele Basisalgorithmen
–Die Ressourcen Zeit und Arbeit kennen –Algorithmus für parallele Präfixsumme kennen –Algorithmus Pointer-Jumping kennen
–Die Algorithmen in anderen Problemen anwenden können
Parallele Ressourcemaße
6 Parallele Ressourcemaße
–Die Ressourcen Kosten, Speedup und Effizienz kennen –Optimalitätsbegriffe bei parallelen Algorithmen
kennen
–Ressourceverbrauch von Algorithmen bestimmen können
–Das Konzept der Arbeit-Zeit-Repräsentation kennen
Paralleles Teilen und Herrschen
7 Paralleles Teilen und Herrschen
–Divide-and-Conquer Algorithmus für die konvexe Hülle kennen
–Divide-and-Conquer Algorithmus für parallelen Merge-Sort kennen
Accelerated-Cascading
8 Accelerated-Cascading
–Konzept des Accelerated-Cascading verstehen und anwenden können
–Beispiele von Accelerated-Cascading-Algorithmen kennen
Aufbrechen von Symmetrien
9 Aufbrechen von Symmetrien
–Problematik der Symmetrie kennen –Einfachen 3-Färbealgorithmus kennen –Schnellen 3-Färbealgorithmus kennen –Optimalen 3-Färbealgorithmus kennen
List-Ranking-Algorithmen
10 List-Ranking-Algorithmen
–Problematik des List-Rankings kennen und anwenden können
–Einfachen optimalen List-Ranking Algorithmus kennen
Schneller optimaler List-Ranking-Algorithmus
11 Schneller optimaler List-Ranking-Algorithmus
–Schnellen optimalen List-Ranking Algorithmus grob kennen
–Analyse des Algorithmus grob verstehen
Auswerten von arithmetischen Ausdrücken
12 Auswerten von arithmetischen Ausdrücken
–Einen Baum in eine Eulertour umwandeln können.
–Blätter eines Baumes in eine
Traversierungsreihenfolge bringen können.
–Konzept der Baumkontraktion kennen
–Schnelle und optimale Algorithmen zur Auswertung arithmetischer Ausdrücke kennen und eigene erstellen können
Parallele Grundrechenarten
13 Parallele Grundrechenarten
–AC- und NC-Schaltkreisklassen kennen –NC1-Additionsalgorithmus kennen –NC1-Multiplikationsalgorithmus kennen –NC2-Divisionsalgorithmus kennen
Untere Schranken – Adversaries
14 Untere Schranken – Adversaries
–Konzepte des Vergleichsbaums und des Adversary-Arguments kennen
–Untere-Schranken-Beweise für Comparison-prams kennen