Einleitung
Die Simulation ist heute ein taugliches Mittel, um reale Vorgänge nachzubilden und zu analysieren. Der Grad der Übereinstimmung zwischen Simulation und Realität hängt dabei von den berücksichtigten Parametern und der verlangten Rechengenauigkeit ab. Leider steigt mit der gewünschten Übereinstimmung aber auch der Rechenaufwand und die Rechenzeit. Um letztere zu verringern, wurden Parallelisierungsansätze entworfen, bei welchen die Rechenlast auf
mehrere Prozessoren verteilt wird. Eine Möglichkeit ist es, das Modell in mehrere Teilmodelle zu zerlegen. Diese können dann unterschiedlichen Prozessoren zugeordnet werden. Die
Teilmodelle werden durch einzelne Komponenten repräsentiert, die über ein geeignetes Medium miteinander kommunizieren. Ein weiterer Aspekt, der sich durch das Bilden dieser Komponenten ergeben kann, ist ein Steigern der Übersichtlichkeit und Wartbarkeit. Aus der
notwendigen eindeutigen Festsetzung der Aufgaben jeder einzelnen Komponente ergeben sich überschaubare Einzelprogramme und klar definierte Schnittstellen zur Kommunikation untereinander.
Ziel dieser Arbeit soll es sein, eine verteilte Simulation zu erstellen, deren Vorteile gegenüber einer monolithischen Simulation aufgezeigt werden. Es wurde dafür bewußt ein einfaches Beispiel gewählt, um das Augenmerk auf die verwendeten Verteilungsstrategien und nicht auf die Erklärung des Modells als mechanisches System zu lenken.
In dieser Arbeit werden zwei unterschiedliche Parallelisierungs-konzepte vorgestellt. Ein wesentlicher Unterschied zwischen den beiden liegt darin, ob die Kausalordnung verletzt werden darf oder nicht. Das erste Konzepte verletzt die Kausalordnung nicht und entspricht der Definition eines konservativen Verfahrens. Das zweite Konzept entspricht der Definition eines optimistischen Verfahrens. Dafür muß die Möglichkeit einer kurzzeitigen Verletzung der
Kausalordnung berücksichtigt werden, was einen gewissen Mehraufwand bedeutet. Zu beiden Konzepten ist ein Monitor implementiert worden. Die erzielten Ergebnisse in Bezug auf Rechenzeit,
Prozessorauslastung und verbundenen Aufwand wurden anschließend miteinander verglichen. Das gesamte Modell wurde als CORBA-Anwendung implementiert, wobei C++ als Programmiersprache genutzt wurde.
[...]
Inhaltsverzeichnis
- Einleitung
- Verteilte Simulation
- Anwendungsmöglichkeiten der Simulation
- Parallelisierung und Verteilung
- Verteilung
- Parallelisierung
- Multitasking und Multithreading
- Vorgehensweise
- Festlegung wichtiger Begriffe
- Die Begriffe Simulationszeit und Rechenzeit
- Die Begriffe Zustand und Ereignis
- Zeitdiskrete Simulationen
- Zeitgesteuerte Datenausgabe
- Zustandsgesteuerte Datenausgabe
- Zeitkontinuierliche Simulationen
- Berücksichtigung von Unstetigkeitsstellen
- Datenausgabe
- Unterschiedliche Simulationsverfahren
- Die Begriffe Kausalität, Kausalordnung und Konservativ
- Zeitdiskrete konservative Simulationen
- Kontinuierliche konservative Simulationen
- Optimistische Simulationsverfahren
- Vergleich der Verfahren anhand eines Beispiels
- Aufgabenstellung
- Aufteilung in Komponenten
- Zustandsänderungen
- Konservatives Verfahren
- Optimistisches Verfahren
- Vergleich der Rechenzeiten
- Das untersuchte Modell
- Das gewählte Beispiel
- Kriterien
- Entkoppelbarkeit
- Berücksichtigung von Ereignissen
- Integrationsverfahren nach Euler
- Konservatives und optimistisches Verfahren
- Wählbare Größen
- Vereinfachende Annahmen
- Simulationskonzept
- Umwandlung der Bewegungsgleichungen
- Allgemeines Simulationskonzept
- System
- Integrator
- Zusammenwirken von Integrator und System
- Berücksichtigung von Unstetigkeitsstellen
- Umsetzung für die gewählte Simulationsaufgabe
- Simulationskonzept für das konservative Verfahren
- Simulationskonzept für das optimistische Verfahren
- Stoßerkennung
- Einführung in CORBA
- Die Object Mangment Group OMG
- Das OMA-Referenzmodell
- Middleware CORBA
- Der Sortwarebus ORB
- Die Schnittstellensprache IDL
- Server-Aufruf
- Implementierung eines einfachen Beispiels
- Aufgabenstellung
- Schnittstellendefinition
- Von IDL nach C++
- Der Server
- Der Client
- Umsetzung als CORBA-Anwendung
- Komponenten der CORBA-Anwendung
- Schnittstelle Integrator
- Schnittstelle System
- Schnittstelle Animation
- Zusammenwirken von Monitor, Integrator und System
- Simulationsversuch
- Aufgabenstellung
- Die verwendete Soft- und Hardware
- Versuchsdurchführung
- Vergleich der Rechenzeiten und Anzahl der Aufrufe von Calc
- Vergleich der Prozessorauslastung
- Zusammenfassung und Ausblick
Zielsetzung und Themenschwerpunkte
Die Diplomarbeit befasst sich mit der Entwicklung und dem Vergleich von konservativen und optimistischen Verfahren zur verteilten Simulation mechanischer Systeme mithilfe von CORBA. Ziel ist es, die Vorteile einer verteilten Simulation gegenüber einer monolithischen Simulation aufzuzeigen, indem ein einfaches Beispielmodell verwendet wird. Die Arbeit konzentriert sich dabei auf die Verteilungsstrategien und weniger auf die Erklärung des Modells als mechanisches System.
- Vergleich von konservativen und optimistischen Simulationsverfahren
- Einsatz von CORBA zur Realisierung einer verteilten Simulation
- Analyse der Rechenzeit, Prozessorauslastung und des Aufwands der beiden Verfahren
- Entwicklung eines einfachen Modells für die Simulation
- Bewertung der Effizienz und der Vorteile der verteilten Simulation
Zusammenfassung der Kapitel
- Einleitung: Die Einleitung stellt den Forschungsgegenstand, die Zielsetzung und die Relevanz der Arbeit vor. Sie erklärt die Motivation für die Verwendung von verteilten Simulationen und das Konzept der Kausalordnung.
- Verteilte Simulation: Dieses Kapitel definiert die Grundlagen der verteilten Simulation, wie Parallelisierung und Verteilung, und beschreibt verschiedene Ansätze wie Multitasking und Multithreading.
- Festlegung wichtiger Begriffe: Das Kapitel legt wichtige Begriffe wie Simulationszeit, Rechenzeit, Zustand und Ereignis fest und erklärt, wie diese im Kontext der verteilten Simulation verwendet werden.
- Zeitdiskrete Simulationen: Es werden verschiedene Arten von zeitdiskreten Simulationen, wie zeitgesteuerte und zustandsgesteuerte Datenausgabe, vorgestellt.
- Zeitkontinuierliche Simulationen: Dieses Kapitel beleuchtet die Besonderheiten von zeitkontinuierlichen Simulationen, insbesondere die Berücksichtigung von Unstetigkeitsstellen und die Datenausgabe.
- Unterschiedliche Simulationsverfahren: Das Kapitel erläutert die verschiedenen Simulationsverfahren, wie konservative und optimistische Verfahren, und geht auf die Begriffe Kausalität, Kausalordnung und Konservativität ein.
- Vergleich der Verfahren anhand eines Beispiels: Hier werden die beiden Verfahren anhand eines Beispiels verglichen, um die Vor- und Nachteile beider Ansätze aufzuzeigen. Die Rechenzeiten und die Anzahl der Aufrufe werden analysiert.
- Das untersuchte Modell: Das Kapitel beschreibt das verwendete Modell für die Simulation, die Kriterien für die Auswahl des Modells, die wählbaren Größen und die vereinfachenden Annahmen.
- Simulationskonzept: Dieses Kapitel erklärt das generelle Simulationskonzept, die Umsetzung für die gewählte Simulationsaufgabe und die Stoßerkennung.
- Einführung in CORBA: Es werden die Grundlagen von CORBA und die zugehörige Middleware erläutert, einschließlich der Object Mangment Group, des OMA-Referenzmodells und der Schnittstellensprache IDL.
- Umsetzung als CORBA-Anwendung: Dieses Kapitel beschreibt die Implementierung der Simulation als CORBA-Anwendung und zeigt die einzelnen Komponenten, wie den Integrator, das System und die Animation, auf.
- Simulationsversuch: Das Kapitel beschreibt den Simulationsversuch, die verwendete Hard- und Software sowie die Ergebnisse des Versuchs in Bezug auf die Rechenzeit und die Prozessorauslastung.
Schlüsselwörter
Verteilte Simulation, konservative Verfahren, optimistische Verfahren, CORBA, Middleware, Parallelisierung, Kausalordnung, Zustandsänderungen, Rechenzeit, Prozessorauslastung, Simulationszeit, Ereignis, Modellierung, mechanische Systeme.
- Quote paper
- Gunter Maierhofer (Author), 1999, Vergleich konservativer und optimistischer Verfahren bei der verteilten Simulation mechanischer Systeme mittels CORBA, Munich, GRIN Verlag, https://www.grin.com/document/170