"Parallelisierung numerischer Algorithmen 001.ps.gz" - читать интересную книгу автора



Parallelisierung und Vektorisierung

numerischer Algorithmen

Gundolf Haase Johannes Kepler Universit"at Linz

[email protected]

WS 1998/99, Linz

Ich m"ochte an dieser Stelle Dr. Matthias Pester von der TU Chemnitz f"ur die freundliche "Uberlassung seines Vorlesungsskriptes zur Parallelisierung danken, welches in einigen Teilen des vorliegenden Skripts wiederzufinden ist. Gleichzeitig gingen eigene Vorlesungsmitschriften aus der entsprechenden Vorlesung bei Prof. Volkmar Friedrich ein.

"Es hiess, 49 Prozent seiner Leute seien verr"uckt. ... Man brauchte sich nurein paar der letzten Ideen seiner Leute vorzunehmen : Da man sich nicht in der Zeit bewegen kann, muss man die Zeit bewegen. Wenn Energie nicht zwischen Orten gleicher Temperatur fliessen will, muss man sie zwingen, indem man L"ocher macht. ... Diese zweifellos hirnrisse Idee leitete eine neue "Ara in der Physik ein."

Stanislaw Lem in "Lokaltermin"

"Es heisst schon seit langem, der Spezialist sei ein Barbar, dessen Unwissen-heit nicht allumfassend ist."

Stanislaw Lem in "Die Stimme des Herrn"

Inhaltsverzeichnis 1 Einf"uhrung 1

1.1 Wozu braucht man Parallelrechner ? . . . . . . . . . . . . . . 1

2 Parallel- und Vektorrechner 5

2.1 Klassifikationen . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1 Ebenen der Parallelit"at . . . . . . . . . . . . . . . . . . 5 2.1.2 Hardwareklassifikation . . . . . . . . . . . . . . . . . . 6 2.1.3 Grobklassifikation nach Flynn . . . . . . . . . . . . . . 6 2.1.4 Klassifikation nach Speicherzugriff . . . . . . . . . . . . 10 2.2 Topologien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.1 Farm / Master-Slave Topologie . . . . . . . . . . . . . 14 2.2.2 Die Pipe . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.3 Der Ring . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.4 Array und Torus . . . . . . . . . . . . . . . . . . . . . 16 2.2.5 Der Tree . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.6 Der Hypercube . . . . . . . . . . . . . . . . . . . . . . 18 2.2.7 Das DeBrujin-Netzwerk . . . . . . . . . . . . . . . . . 20 2.2.8 Freie Topologie . . . . . . . . . . . . . . . . . . . . . . 23 2.3 Parallele Betriebssystemerweiterungen und Programmiersprachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3 Algorithmische Ebene 25

3.1 Einige Begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2 Synchronisation paralleler Prozesse . . . . . . . . . . . . . . . 30

3.2.1 Einige Begriffe . . . . . . . . . . . . . . . . . . . . . . 30 3.2.2 Semaphoren . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2.3 Datenkoh"arenz . . . . . . . . . . . . . . . . . . . . . . 39 3.3 Grundlegende globale Operationen . . . . . . . . . . . . . . . 41