Humboldt-Universität zu Berlin
ZE Rechenzentrum (CMS)
Abt. Systemsoftware und Kommunikation
Dr. rer. nat. Andreas Kunert
HU-CMS-Logo  HU-Berlin Logo

Prozessorientierte, optimistisch-parallele Simulation (Dissertation)

Kurzbeschreibung (der Arbeit entnommen)

Die Hauptmotivation bei der parallelen diskreten ereignisgesteuerten Simulation (PDES) liegt in der Realisierung möglichst schneller Simulationsläufe. Dieses Ziel spiegelt sich in zwei Gemeinsamkeiten nahezu aller derartiger Simulationsimplementationen wider: Sie stützen sich aus Effizienzgründen ausschließlich auf das ereignisorientierte Modellierungsparadigma und sind in vergleichsweise hardwarenahen Programmiersprachen umgesetzt worden.

Mit beiden Eigenschaften sind jedoch potentiell schwerwiegende Einschränkungen für den Simulationsmodellierer verbunden. Zunächst verhindert das ereignisorientierte Paradigma, insbesondere im Gegensatz zur prozessorientierten Modellierungssicht, in vielen Szenarien eine strukturäquivalente Modellierung des zu analysierenden Systems. Bei der anschließenden Implementation erzwingt nicht selten die hardwarenahe Programmiersprache durch den Mangel passender abstrakter Konzepte eine weitere Dekomposition des Simulationsmodells. Das Ergebnis eines derartigen Modellierungs- bzw. Implementationsvorganges ist häufig eine Simulationsimplementation, deren Simulationsmodell zwar sehr effizient ausführbar, dafür jedoch durch seine strukturelle Entfernung vom Ausgangssystem schlecht nachvollziehbar ist. Die durch diesen Umstand bedingte Erhöhung des Aufwandes bei der Sicherstellung der Korrektheit sowie bei späteren Modelländerungen ist beträchtlich.

Getrieben von dieser Erkenntnis folgte die Entwicklung in der nichtparallelen Simulationswelt, in der die benötigte Ausführungszeit eine sekundäre Rolle spielt, einem anderen Weg. Um ein möglichst strukturäquivalentes und damit handhabbares Simulationsmodell zu ermöglichen, ist hier inzwischen die kombinierte Nutzung von ereignis- und prozessorientierter Modellierungssicht üblich. Des Weiteren erfolgt die Implementation sequentieller Simulationen heutzutage üblicherweise in aktuellen, von der Hardware deutlich stärker abstrahierenden Programmiersprachen wie Java.

Eine Kombination der Vorteile der sequentiellen und parallelen Simulationswelten ist vor allem bei der Betrachtung großer und komplexer Szenarien wünschenswert. Diese lassen sich meist nur bei einer adäquaten, strukturäquivalenten Modellierung beherrschen. Es sind aber auch gleichzeitig genau diese Simulationsszenarien, die am ehesten nach einer Beschleunigung der Simulationsausführung verlangen.

Eine Implementation des prozessorientierten Paradigmas in einer parallelen Simulation ist allerdings nicht unproblematisch. Mehr noch als bei ereignisorientierten Simulationsmodellen muss bei prozessorientierten darauf geachtet werden, dass die parallelisierungsbedingte Beschleunigung von Simulationsläufen nicht durch einen ebenfalls parallelisierungsbedingten, unvermeidbaren Mehraufwand zur Laufzeit zunichte gemacht wird. Dies gilt vor allem im Spezialfall der optimistisch-parallelen Simulation. Diese zeichnet sich dadurch aus, dass Simulationsmodelle während eines Simulationslaufes in ungültige Zustände geraten können, die durch eine Rückkehr des Simulationsmodells in einen früheren, korrekten Zustand korrigiert werden.

Die vorliegende Arbeit beschreibt die Konzeption und Implementation einer optimistisch-parallelen Simulationsbibliothek in Java. Diese vereint die Vorzüge optimistisch-paralleler Simulation (automatische Ausnutzung modellinhärenter Parallelität zur Simulationsbeschleunigung) mit der des prozessorientierten Paradigmas (modellabhängig strukturäquivalente und intuitive Modellbeschreibungen).

Dabei bestand ein weiteres Entwicklungsziel darin, im Gegensatz zu den meisten existierenden PDES-Implementationen die interne Arbeitsweise des optimistisch-parallelen Simulationskerns so gut wie möglich zu verbergen. Stattdessen gleichen die vom Simulationskern angebotenen Schnittstellen weitestgehend denen von sequentiellen Simulationskernen. Dadurch wird die Erstellung eines passenden Simulationsmodells im Vergleich zu anderen parallelen Simulationsimplementationen deutlich erleichtert. Auch der Mehraufwand gegenüber der Erstellung von Simulationsmodellen für rein sequentielle Simulationskerne ist relativ gering.

Ein besonderer Aspekt der Implementation ist die zweckentfremdete Verwendung eines Webapplikationsframeworks, welches durch die nachträgliche Modifikation des vom Java-Compiler generierten Java-Bytecodes die Verwendung des in Java ansonsten unbekannten abstrakten Konzeptes einer Coroutine ermöglicht. Dadurch konnte eine elegante Möglichkeit der Implementation von Simulationsprozessen realisiert werden, die für die Umsetzung von prozessorientierten Simulationsmodellen benötigt wird.

Inhaltsverzeichnis (gekürzt)

KapitelSeite
1Einleitung1
2Simulationsgrundlagen9
3Grundlagen paralleler Simulation29
4Realisierung von optimistisch-parallelen Prozessen51
5Implementation81
6Experimente101
7Zusammenfassung131
AWeitere Untersuchungen und Erkenntnisse137
BVerwandte Arbeiten143
CImplementierte Simulationsmodelle149
DVerwendete Hardware161

Download

Die Dissertation wurde digital veröffentlicht und kann kostenfrei vom edoc-Server der Universität heruntergeladen werden.

Errata

Seite Kapitel Fehler
179 Danksagung Michael Rybczak wird leider ohne "ck" geschrieben