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

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

othek erfordert mehr Software-Zusatzaufwand im Hintergr<strong>und</strong>, was größere<br />

Startup-Zeiten, größere Latenz <strong>und</strong> kleineren Maximaldurchsatz zur Folge hat.<br />

Andererseits bietet PVM dem Programmierer neben den üblichen Send/<br />

Receive-Bibliotheksprogrammen eine Vielzahl unterstützender Funktionen.<br />

Beispiele da<strong>für</strong> sind pvm_barrier, pvm_bcast <strong>und</strong> pvm_mcast <strong>für</strong> Prozeßsynchronisation,<br />

pvm-reduce <strong>für</strong> Datenreduktionsoperationen <strong>und</strong> pvm-spawn zur<br />

Prozeßerzeugung.<br />

summierter<br />

Durchsatz<br />

gemeinsame Variable<br />

PVM-Bibliothek<br />

Zahl der Prozessoren<br />

Bild 5.5: Durchsatz bei gemeinsamen Variablen <strong>und</strong> Botschaftenaustausch nach [Camp95].<br />

Gemeinsame Variablen sind mittels der Speicherverwaltungen (MMUs) in den<br />

Rechenknoten implementiert, so daß alle Lokalspeicher zu einem großen<br />

Adreßraum nach dem NUMA-Modell vereinigt werden. Allerdings ist der Speicher<br />

nicht Cache-konsistent, d.h., daß im System <strong>verteilte</strong> Kopien einer Variablen<br />

nicht automatisch auf dem neuesten Stand gehalten werden. Der Benutzer<br />

muß deshalb auf Kopien gemeinsamer Variablen verzichten <strong>und</strong> diese unter<br />

Umgehung des Cache direkt aus dem Speicher lesen oder beim Schreiben einer<br />

gemeinsamen Variablen alle veralteten Duplikate "von Hand" invalidieren.<br />

Das Schreiben <strong>und</strong> Lesen gemeinsamer Variablen, die in entfernten Lokalspeichern<br />

residieren, kann überlappend zur Ausführung von Berechnungen erfolgen,<br />

die diese Variablen nicht benötigen. Weiterhin können in den Rechenknoten<br />

durch die DMA-Einheiten simultan zum Rechnen Botschaften bis<br />

zur Länge von 256 K Worten á 64 Bit zwischen einem Sender <strong>und</strong> mehreren<br />

Empfängern verschickt werden. Dadurch ergibt sich neben dem Synchronisations-Multicast,<br />

der im Binärbaum implementiert ist, ein zweiter Multicast <strong>für</strong><br />

Daten.<br />

5.1.5 Routing<br />

Sowohl Botschaftenaustausch als auch gemeinsame Variablen beruhen implementierungstechnisch<br />

betrachtet auf Paketvermittlung mit Virtual-Cut-<br />

Through Routing. Wie die Paketvermittlung im Cray-Netz abläuft, ist in Bild<br />

5.6 <strong>für</strong> den Fall, daß der Prozessor 1 Werte aus dem Lokalspeicher von Prozessor<br />

2048 lesen möchte, exemplarisch erläutert.<br />

257

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!