und Komponenten-Technologien in der Modellierung ... - CES - KIT
und Komponenten-Technologien in der Modellierung ... - CES - KIT
und Komponenten-Technologien in der Modellierung ... - CES - KIT
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
2.2.2.2 Auslagerung von Hilfsfunktionen<br />
2 Gr<strong>und</strong>lagen 9<br />
E<strong>in</strong> möglicher Ansatz e<strong>in</strong> Simulationsexperiment zu beschleunigen, besteht <strong>in</strong> <strong>der</strong> Auslagerung<br />
häufig verwendeter Hilfsfunktionen 2 auf zusätzliche Prozessoren bzw. Rechner. Der große<br />
Vorteil dieser Vorgehensweise besteht dar<strong>in</strong>, dass e<strong>in</strong> für die sequentielle Simulation ausgelegtes<br />
Modell nicht umgeschrieben werden muss. Signifikante Beschleunigungen s<strong>in</strong>d durch diese<br />
Maßnahme jedoch nicht zu erwarten, da sich herausgestellt hat, dass die Berechnung von Hilfsfunktionen<br />
meist nur e<strong>in</strong>en ger<strong>in</strong>gen Anteil <strong>der</strong> Gesamtrechenzeit beansprucht.<br />
2.2.2.3 Verteilung des Modells<br />
Weitaus viel versprechen<strong>der</strong> als die Auslagerung von Hilfsfunktionen ist es, die Parallelisierung<br />
auf Modellebene vorzunehmen. Dabei ergeben sich im Wesentlichen folgende Problemstellungen:<br />
- Aufteilung des Gesamtmodells <strong>in</strong> kooperierende Teilmodelle, die möglichst unabhängig<br />
vone<strong>in</strong>an<strong>der</strong> se<strong>in</strong> sollten, um den anfallenden Kommunikations- <strong>und</strong> Synchronisationsaufwand<br />
ger<strong>in</strong>g zu halten.<br />
- Geeignete Zuordnung <strong>der</strong> Teilmodelle auf Prozessoren (parallele Simulation) bzw. Rechner<br />
(verteilte Simulation). Falls e<strong>in</strong> Prozessor bzw. Rechner mehrere Teilmodelle ausführen<br />
soll, ist zusätzlich e<strong>in</strong>e geeignete Auswahlstrategie (Schedul<strong>in</strong>g) erfor<strong>der</strong>lich.<br />
- Synchronisation <strong>der</strong> Abläufe <strong>in</strong> den Teilmodellen zur Wahrung <strong>der</strong> Kausalität.<br />
Die Partitionierung des Modells hat erheblichen E<strong>in</strong>fluss auf den zu erzielenden Gew<strong>in</strong>n an<br />
Ausführungsgeschw<strong>in</strong>digkeit. Um e<strong>in</strong>e hohe Beschleunigung zu erreichen, sollte das Modell so<br />
zerlegt werden, dass zwischen den e<strong>in</strong>zelnen Teilmodellen möglichst wenige Abhängigkeiten<br />
bestehen. Bei zu eng gekoppelten Teilmodellen ist durch den anfallenden Kommunikations-<br />
<strong>und</strong> Synchronisationsaufwand e<strong>in</strong>e Beschleunigung <strong>der</strong> Simulation eher unwahrsche<strong>in</strong>lich,<br />
wobei es <strong>in</strong> Extremfällen sogar zu e<strong>in</strong>er Verlangsamung gegenüber <strong>der</strong> sequentiellen Ausführung<br />
kommen kann. Die Modellpartitionierung muss heute noch weitgehend manuell vom Modellierer<br />
durchgeführt werden, da entsprechende Methoden nur für e<strong>in</strong>ige wenige Spezialfälle<br />
zur Verfügung stehen. Analog zum <strong>Modellierung</strong>svorgang ist das Ergebnis e<strong>in</strong>er solchen Partitionierung<br />
stark von <strong>der</strong> Erfahrung <strong>und</strong> Intuition des Modellierers abhängig.<br />
Nach erfolgter Modellpartitionierung müssen die e<strong>in</strong>zelnen Teilmodelle auf die zur Verfügung<br />
stehenden Prozessoren bzw. Rechner verteilt werden. Da die Anzahl <strong>der</strong> bereitstehenden Abarbeitungsressourcen<br />
meist weitaus ger<strong>in</strong>ger ist als die <strong>der</strong> auszuführenden Teilmodelle, muss<br />
e<strong>in</strong>e geeignete Zuordnung <strong>der</strong> Teilmodelle auf diese Ressourcen gef<strong>und</strong>en werden. Zur Lösung<br />
dieser Problemstellung existiert heute e<strong>in</strong>e breite Auswahl an so genannten Schedul<strong>in</strong>g-Algorithmen,<br />
die sich grob <strong>in</strong> statische <strong>und</strong> dynamische Verfahren unterteilen lassen. Während bei<br />
den statischen Verfahren die Zuordnung bereits vor dem Start <strong>der</strong> Simulation erfolgen muss<br />
<strong>und</strong> während des gesamten Simulationsexperiments unverän<strong>der</strong>t bleibt, erlaubt das dynamische<br />
Schedul<strong>in</strong>g e<strong>in</strong>e flexible Zuordnung zur Laufzeit.<br />
2 beispielsweise die Erzeugung von Pseudozufallszahlen o<strong>der</strong> die Generierung von Statistiken