Inhalt
Inhalt
1 Einführung
1.1 Grand Challenges
1.2 Historische Entwicklung
1.3 Begriffsabgrenzungen
1.4 Argumente gegen Parallelismus
1.5 Definitionen
2 Maschinenmodelle
2.1 Kontrollmechanismus
2.2 Speicherorganisation
2.3 Verbindungsstruktur
2.4 Granularität
2.5 PRAM
3 Topologien
3.1 Dynamische Verbindungsnetzwerke
3.2 Statische Verbindungsnetzwerke
3.3 Netzwerkeinbettungen
4 Basiskommunikation
4.1 Kosten
4.2 One-to-All Broadcast
4.3 All-to-All Broadcast
4.4 Echo-Algorithmus
4.5 Terminierung
5 Performance
6 Matrix-Algorithmen
6.1 Partitionierung
6.2 Matrix-Transposition in Gitter und Hypercube
6.3 Matrix-Vektor-Multiplikation im Ring
6.4 Matrizenmultiplikation im Gitter
6.5 Matrizenmultiplikation im Hypercube
7 Lineare Gleichungssysteme
7.1 Gauß-Jordan-Elimination auf PRAM
7.2 Gauß-Elimination im Gitter
7.3 Cholesky-Zerlegung im Ring
7.4 Iterationsverfahren
8 Sortierverfahren
8.1 PRAM Sort
8.2 Odd-Even-Transposition Sort
8.3 Sortiernetzwerke
8.4 Sortieren im Hypercube
8.5 Sortieren im Shuffle-Exchange
8.6 Quicksort im Hypercube
9 Graphenalgorithmen
9.1 Definitionen
9.2 Implementation von Graphen
9.3 Shortest Path
9.4 All Shortest Paths
9.5 Minimum Spanning Tree
9.6 Zusammenhangskomponente
10 Kombinatorische Optimierung
10.1 Definitionen
10.2 Sequentielles Suchen
10.3 Paralleles Suchen
10.4 Spielbaumsuche
10.5 Dynamic Programming
11 Programmiersprachen