Parallele Algorithmen - Ra.informatik.tu-darmstadt.de - Technische ...
Parallele Algorithmen - Ra.informatik.tu-darmstadt.de - Technische ...
Parallele Algorithmen - Ra.informatik.tu-darmstadt.de - Technische ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Abbildung 3.14.: Eine Möglichkeit, aus n Werten in log(n) Schritten das Minimum zu<br />
fin<strong>de</strong>n. Die Prozessoren vergleichen mit ihrem Nachbarn und speichern<br />
das Minimum ab. Danach wird <strong>de</strong>r Nachbar umgesetzt. Das Minimum<br />
steht nach <strong>de</strong>r Ausführung immer an erster Stelle.<br />
Wen<strong>de</strong>t man statt <strong>de</strong>r Doubling-Technik die modifizierte Balanced-Binary-Tree-Technik 7<br />
an, dann reichen<br />
n Prozessoren pro Spalte und dabei wird eine Laufzeit von O(log(n))<br />
log(n)<br />
garantiert. Insgesamt benötigt <strong>de</strong>r erste Schritt dann eine Laufzeit von O(log(n)) und<br />
O( n2 ) Prozessoren. Im Folgen<strong>de</strong>n soll zuerst die Balanced-Binary-Tree-Technik vorgestellt<br />
wer<strong>de</strong>n und dann wird dargestellt, wie man die Anzahl <strong>de</strong>r Prozessoren dahinge-<br />
log(n)<br />
n<br />
hend verän<strong>de</strong>rn kann, dass man mit O( ) Prozessoren die gleiche Laufzeitkomplexität<br />
log(n)<br />
erreicht.<br />
Bei <strong>de</strong>r Balanced-Binary-Tree-Technik [Abbildung 3.15] hält je<strong>de</strong> Zelle zwei Werte <strong>de</strong>r<br />
Matrixspalte aus 1(a) und bil<strong>de</strong>t hieraus das Minimum.<br />
Es berechnen also n−1 Prozessoren parallel das Minimum ihrer Werte. Je<strong>de</strong> Zelle hat in<br />
diesem Mo<strong>de</strong>ll eine Vaterzelle und je<strong>de</strong> Vaterzelle hat zwei Kindzellen, was dazu führt,<br />
dass die Balanced-Binary-Tree-Technik immer n = 2 m Werte erwartet (ist dies nicht<br />
<strong>de</strong>r Fall, müssen Dummy-Einträge ergänzt wer<strong>de</strong>n, bis die Bedingung erfüllt ist). Die<br />
Vaterzelle bestimmt nun das Minimum <strong>de</strong>r Kindzellen und liefert diesen Wert an seine<br />
Vaterzelle weiter. Insgesamt halbiert sich die Anzahl <strong>de</strong>r Zellen auf je<strong>de</strong>r S<strong>tu</strong>fe, bis in<br />
<strong>de</strong>r Spitze nur noch eine Zelle existiert, die Wurzel. Nach<strong>de</strong>m diese Wurzelzelle ihrerseits<br />
das Minimum gebil<strong>de</strong>t hat, kann <strong>de</strong>r korrekte Wert aus <strong>de</strong>r Wurzel ausgelesen wer<strong>de</strong>n.<br />
Die Laufzeitkomplexität entspricht nun <strong>de</strong>r maximalen Weglänge von <strong>de</strong>r Wurzel zu<br />
einem Blatt, was in einem vollständigen Binärbaum log(n) ist. Wie bei <strong>de</strong>r Doubling-<br />
Technik wer<strong>de</strong>n hier jedoch O(n) Prozessoren o<strong>de</strong>r Zellen pro Spalte benötigt, was zu<br />
einer Gesamtzahl von O(n 2 ) benötigten Zellen führt.<br />
7 Ein Beispiel für die Balanced-Binary-Tree-Technik wird gegeben. Eine genaue Beschreibung fin<strong>de</strong>t<br />
sich im Anhang.<br />
44