23.12.2012 Aufrufe

Vielteilchentheorien in Modellräumen mit diskreter Darstellung

Vielteilchentheorien in Modellräumen mit diskreter Darstellung

Vielteilchentheorien in Modellräumen mit diskreter Darstellung

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.

50 Kapitel 4 Technische Aspekte<br />

Verfahren an die Grenzen der Ressourcen. Nur die bestmöglich komprimierte Matrix hat<br />

e<strong>in</strong>en handhabbaren Speicherbedarf, was verdeutlichen soll, daß <strong>in</strong> diesem Fall die oben<br />

dargelegte Speicheroptimierung e<strong>in</strong>e solche Rechnung überhaupt erst möglich macht.<br />

4.3.2 Parallelisierung<br />

Abgesehen von der Speicheroptimierung kann man auf e<strong>in</strong>er Multiprozessor–Architektur<br />

die Performance e<strong>in</strong>es Programms durch Parallelisierung weiter verbessern. Bei Operationen<br />

der l<strong>in</strong>earen Algebra, der Integration e<strong>in</strong>er Funktion über e<strong>in</strong> Intervall und vielen<br />

anderen mathematischen Problemstellungen ist es relativ e<strong>in</strong>fach mehrere Prozessoren<br />

gleichzeitig zu nutzen. Die Laufzeit von Programmabschnitten, die parallelisiert werden<br />

können, ist dann im Idealfall umgekehrt proportional zur Zahl der Prozessoren. Aufgrund<br />

der erforderlichen Thread–Synchronisationen, der Datenkommunikation zwischen den auf<br />

verschiedenen Prozessoren laufenden Programmteilen und nicht zuletzt weil e<strong>in</strong> Großrechner<br />

<strong>in</strong> der Regel von e<strong>in</strong>er Vielzahl von Benutzern <strong>in</strong> Anspruch genommen wird, ist es <strong>in</strong><br />

der Realität unmöglich diese ideale Laufzeitverkürzung zu erreichen. Trotzdem kann man<br />

<strong>mit</strong> nicht allzu großem Aufwand e<strong>in</strong>e beachtliche Verbesserung der Performance erzielen,<br />

weswegen auf e<strong>in</strong>ige Details dieser Programmiertechniken und die Hardware e<strong>in</strong>gegangen<br />

werden soll.<br />

Rechnerarchitekturen<br />

Bei Rechnern <strong>mit</strong> vielen Prozessoren unterscheidet man zwischen der ”Distributed Memory<br />

(DM)” und der ”Shared Memory (SM)” Architektur. Während bei der DM Architektur<br />

e<strong>in</strong> Cluster von Prozessoren über Speicher verfügt, auf den nur die Mitglieder des Clusters<br />

zugreifen können, gibt es bei der SM Architektur e<strong>in</strong>en Hauptspeicher, den alle<br />

Prozessoren benützen. Bei e<strong>in</strong>er DM Architektur müssen daher die e<strong>in</strong>zelnen Prozesse<br />

über Kommunikatoren Daten und Synchronisationsabfragen austauschen. Das gängigste<br />

Hilfs<strong>mit</strong>tel zur parallelen Programmierung <strong>in</strong> e<strong>in</strong>er DM Architektur ist das sogenannte<br />

”Message Pass<strong>in</strong>g Interface (MPI)”, das die nötigen Kommunikatoren (und vieles mehr)<br />

zur Verfügung stellt.<br />

Da es sich bei dem zur Verfügung stehenden Rechner um e<strong>in</strong>e SM Architektur handelt<br />

(Tabelle 4.3.3) und die vorzunehmenden Parallelisierungen nicht sehr kompliziert s<strong>in</strong>d,<br />

wurde jedoch nicht <strong>mit</strong> MPI gearbeitet, sondern e<strong>in</strong>e auf Compilerdirektiven basierende<br />

Parallelisiertechnik gewählt. Wenn man ke<strong>in</strong>e Kommunikatoren e<strong>in</strong>setzt, die zu e<strong>in</strong>em<br />

def<strong>in</strong>ierten Zeitpunkt ihre Daten an e<strong>in</strong>en anderen Prozess schicken, s<strong>in</strong>d die Speicherzugriffszeiten<br />

der e<strong>in</strong>zelnen Prozesse zwar kürzer, jedoch kann es leicht passieren, daß<br />

die e<strong>in</strong>zelnen Prozessoren gleichzeitig den gleichen Speicherbereich verändern, was dann

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!