22.12.2013 Aufrufe

Verbindungsnetzwerke für parallel und verteilte Systeme.pdf

Verbindungsnetzwerke für parallel und verteilte Systeme.pdf

Verbindungsnetzwerke für parallel und verteilte Systeme.pdf

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Schleifenkörper beendet hat, setzt ein "ready"-Bit, <strong>und</strong> die UND-Verknüpfung<br />

aller Bits informiert einen die Schleife kontrollierenden, übergeordneten Prozessor<br />

über die Schleifenbeendigung.<br />

Bei Verwendung der ODER-Funktionalität im inversen Multicastbaum können<br />

Anwendungen wie <strong>verteilte</strong> Datenbanken in ihrer Ausführung stark beschleunigt<br />

werden: Über den Datentransfertorus wird beispielsweise allen Prozessoren<br />

ein in einer Datenbank zu suchender Eintrag mitgeteilt. Der erste Prozessor,<br />

der den Eintrag gef<strong>und</strong>en hat, setzt ein "fo<strong>und</strong>"-Bit, <strong>und</strong> die Kaskade<br />

von ODER Gattern teilt dies dem Master-Prozessor mit, worauf die noch suchenden<br />

Prozessoren vorzeitig terminiert werden. Die geschilderten Vorgänge<br />

von Multicast <strong>und</strong> inversem Multicast dauern auf der T3D extrem kurz. In nur<br />

1μ<br />

s wird eine Prozeßsynchronisation über bis zu 2048 Prozessoren durchgeführt,<br />

so daß die vom Netzwerk bedingten Zeitverluste bei der Prozeßsynchronisation<br />

vernachlässigbar sind.<br />

Neben den dargestellten Beispielen <strong>und</strong> Funktionen, die sehr schnell in Hardware<br />

vom Synchronisationsnetzwerk ausgeführt werden können, gibt es noch<br />

eine Reihe anderer Prozeduren, die mit Unterstützung des Synchronisationsnetzes<br />

beschleunigt werden. So benützen einige INTRINSIC-Funktionen<br />

des Cray FORTRAN-Compilers, die die Summe, das Produkt, das Maximum<br />

oder Minimum der Elemente eines Vektors berechnen, dieses Netz. Verschiedene<br />

in <strong>parallel</strong>en, numerischen Anwendungen häufig vorkommende Aufgaben<br />

können so effizient bearbeitet werden.<br />

Berechnet man die maximale Distanz zweier Knoten im Torus, so kann man<br />

<strong>für</strong> den Weg entlang einer Raumdiagonalen (8+4+4)=16 Knoten angeben, während<br />

die größte Entfernung im Binärbaum log21024 = 10 Knoten beträgt. Da<br />

beide Entfernungen sowohl von der Zahl der Schritte als auch von der Latenzzeit<br />

in der selben Größenordnung liegen, kann man sagen, daß Kommunikation<br />

<strong>und</strong> Synchronisation in der Geschwindigkeit aufeinander abgestimmt<br />

sind, so daß beide Netze im Vergleich zueinander ein ausgewogenes<br />

Bild ergeben.<br />

Netzwerkanschlüsse<br />

In Bild 5.4 ist in mehreren Ausschnittsvergrößerungen die Position <strong>und</strong> der<br />

Aufbau der Netzwerkanschlüsse innerhalb der Cray-T3D dargestellt. Ausgehend<br />

vom 3-dimensionalen Torus, der in Form eines Würfels dargestellt ist, erkennt<br />

man in der ersten Ausschnittsvergrößerung, wie die beiden Prozessoren<br />

eines Knotens an einen gemeinsamen Router angeschlossen sind (getrennt bei<br />

T3E). Der Router bildet die Schnittstelle zum Torus mit seinen 3 Raumrichtungen.<br />

Er inspiziert einlaufende Pakete nach ihrer Zieladresse <strong>und</strong> entnimmt diese<br />

<strong>für</strong> den Fall übereinstimmender Adressen dem Netz. Bei Nichtübereinstimmung<br />

wird das Paket solange in x-Richtung zu einem benachbarten Router weitergereicht,<br />

bis die x-Koordination dieses Routers mit der x-Koordinate des<br />

Zielknotens identisch ist. Danach wird der Vorgang entlang der y- <strong>und</strong> z-Richtung<br />

wiederholt, bis das Paket am Ziel ist, woraus auch die Bezeichnung x-y-z-<br />

Routing resultiert.<br />

254

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!