06.06.2014 Aufrufe

Parallele Algorithmen - Ra.informatik.tu-darmstadt.de - Technische ...

Parallele Algorithmen - Ra.informatik.tu-darmstadt.de - Technische ...

Parallele Algorithmen - Ra.informatik.tu-darmstadt.de - Technische ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!