Inhalt Parallele Programmierung (Wi0102)
Inhalt Parallele Programmierung (Wintersemeter 2001/2002)
1. Einführung
2. Grundlagen
2.1 Begriffe
2.2 Hardware-Klassifikation
2.3 Parallelitätsebenen
2.4 Konzepte für parallele Verarbeitung
3. Parallelrechner-Architektur
3.1 Mikroprozessorentwicklung
3.2 Speicherkonzepte - Adressraumorganisation
3.3 Verbindungsnetzwerke
3.3.1 Bewertungskriterien
3.3.2 Statische Verbindungsnetzwerke
3.3.3 Einbettungen
3.3.4 Dynamische Verbindungsnetzwerke
3.4 Routing und Switching
3.4.1 Routingalgorithmen
3.4.2 Switching-Strategien
3.5 Cache-Kohärenz und Speicherkonsistenz
3.6 Spezielle Architekturprinzipien
3.6.1 Datenflussrechner
3.6.2 Systolische Felder
3.7 Parallelsysteme - Beispiele
3.7.1 SIMD-Rechner
3.7.2 SMP-Systeme
3.7.3 Systeme mit verteiltem Adressraum
3.7.4 Systeme mit gemeinsamem Adressraum
4. Parallele Programmierung
4.1 Modelle paralleler Systeme
4.1.1 PRAM
4.1.2 BSP- und LogP-Modell
4.2 Leistungsbewertung
4.3 Laufzeiten von Kommunikationsoperationen
4.3.1 Modell
4.3.2 Broadcast-Operationen
4.3.3 Scatter und Gather
4.3.4 Total Exchange
4.3.5 Circular Shift
4.4 Message Passing Interface MPI
4.4.1 Einführung
4.4.2 "Hello world!"
4.4.3 Message Passing - Senden und Empfangen
4.4.4 Globale Kommunikation
4.4.5 Prozessgruppen und Topologien
4.4.6 Nichtblockierender Nachrichtenaustausch
4.4.7 Übertragungsmodi, Zeitmessung
5. Parallele Algorithmen
5.1 Sortieren
5.2 Asynchrone Algorithmen
5.3 Algorithmen für dichte Matrizen
5.4 Lineare Gleichungssysteme
6. Gemeinsame Variable
6.1 Parallele Threads
6.1 Parallele Threads