Massiv Parallele Programmierung mit dem Parallaxis-Modell
Thomas Bräunl
Springer-Verlag, Informatik-Fachberichte Nr. 246, Heidelberg,
1990, pp. (XII, 168)
Inhalt
1. Einleitung
2. Anforderungen und Ziele
3. Parallele Programmierung
3.1 Parallele Rechnerarchitekturen
3.2 Parallele Operationen
3.3 Parallelverarbeitung in bestehenden Programmiersprachen
4. Sprachkonzepte
4.1 Datenelemente und Deklarationen
4.2 Spezifikation der parallelen Verbindungsstruktur
4.3 Paralleler Datenaustausch
4.4 Parallele Verarbeitung
4.5 Prozeduren und Funktionen
5. Spezifikation der Rechnerarchitektur
5.1 Das parallele Maschinenmodell
5.2 Spezifikationskonstrukte der Netzwerkstruktur
5.3 Definitions- und Wertebereiche von Transfer-Funktionen
5.4 Strukturierte Transfer-Funktionen
5.5 Komplexe Verbindungsstrukturen
5.6 Semantische Pruefung von Topologien
5.7 Erweiterungen der Spezifikation
6. Konzepte der Parallelverarbeitung
6.1 Paralleler Anweisungsblock
6.2 Kollektiver Datenaustausch
6.3 Mehrstufiger Datenaustausch
6.4 Datenreduktion
6.5 Parallelverarbeitung am Beispiel einer Ring-Topologie
6.6 Propagate Splitting
7. Kommunikationskonzepte
7.1 Datenaustausch zwischen Prozessoren im Netzwerk
7.2 Datenuebermittlung von und zur zentralen Steuerung
7.3 Ein-/Ausgabe-Operationen des Steuerrechners
8. Parallele Semantik
8.1 Das Modell der Parallelverarbeitung
8.2 Darstellung einer formalen parallelen Semantik
8.3 Beweis-Regeln
8.4 Bestimmung von Vorbedingungen
9. Datenstrukturen und Datentypen
9.1 Deklaration von Variablen
9.2 Konstanten
9.3 Erweitertes Datentypkonzept
9.4 Vordefinierte Einheiten
9.5 Definition von neuen Einheiten-Systemen
9.6 Regeln beim Rechnen mit Einheiten
9.7 Verwandte Arbeiten
10. Implementierung des Parallaxis-Systems
10.1 Definition der Schnittstelle
10.2 Definition der parallelen Zwischensprache
10.3 Der Compiler
10.4 Der Simulator
10.5 Graphische Darstellung der Netzwerk-Topologie
10.6 Debugging-Hilfen
11. Systolische Programmierung mit Parallaxis
11.1 Parallele Matrix-Multiplikation
11.2 Beziehung zwischen systolischen Arrays und dem
Parallaxis-Modell
12. Anwendungen des parallelen Modells
12.1 Parallele Bilderzeugung
12.2 Parallele Bildverarbeitung
12.3 Implementierung von Neuronalen Netzen
12.4 Realisierung schneller kinematischer Systeme in der Robotik
13. Einbindung in parallele Rechnerarchitekturen
13.1 Anpassung an eine Parallel-Architektur
13.2 Geeignete Rechnerarchitekturen
13.3 Theoretische Leistungswerte
14. Analyse der Konzepte im Vergleich mit verwandten Arbeiten
14.1 Connection Machine Lisp
14.2 *Lisp
14.3 Concurrent Prolog, Parlog und Guarded Horn Clauses
14.4 Modula-P, Concurrent Pascal und Ada
14.5 Occam
14.6 Vector C und PASM Parallel C
14.7 Refined C und Refined Fortran
14.8 C*
15. Ausblick
Anhang
A. Syntax der Programmiersprache Parallaxis
B. Syntax der Zwischensprache PARZ
C. Programme
C.1 Bestimmen des groessten Elements einer Matrix
C.2 Parallele Bildrotation durch rekursive Verschiebungen
C.3 Parallele Primzahlenerzeugung
C.4 Linear-Paralleles Sortieren
D. Literatur