0 / 16 Arbeitstitel: Parallele und verteilte Simulation von diskret-ereignisorientierten Systemen in ingenieurtechnischen Anwendungen Christian Stenzel Hochschule Wismar, FG CEA Zulassungskolloq. 7/2009 Betreuer: Prof. Bernhard Lampe (UR) Prof. Sven Pawletta (HSW) Kooperationspartner: RWTH Aachen (Prof. Abel) TU Wien (Prof. Breitenecker) MTG Marinetechnik GmbH 18.03.2010 Niex
1 / 16 Zielstellungen 1 Potenzial von PDES-Techniken im Bereich AT und angrenzend 2 Potenzial des milit. Standards HLA im Bereich AT und angrenzend 3 Aussagen zur praktischen Relevanz von PDES/HLA in AT
2 / 16 Gliederung der Arbeit 1 Einleitung Teil A - Grundlagen, Voraussetzungen, SdT 2 Grundlagen der parallelen und verteilten Verarbeitung 3 Beschreibung diskret-ereignisorientierter Systeme 4 Simulation diskret-ereignisorientierter Systeme 5 Wissenschaftlich-technische Berechnungsumgebungen (SCEs) Teil B - eigene Konzeption, Entwicklung, Beitrag 6 Konzeption/Machbarkeit PDES in SCEs/interpretativ 7 Konzeption/Machbarkeit HLA in SCEs/interpretativ 8 Konzeption/Machbarkeit HLA in F90/prozedural Teil C - anwendungsorientierte Untersuchungen 9 Benchmarks 10 RCP / Verteilte Steuerung 11 Simulation im Schiffsentwurf
2 / 16 Gliederung der Arbeit 1 Einleitung Teil A - Grundlagen, Voraussetzungen, SdT 2 Grundlagen der parallelen und verteilten Verarbeitung 3 Beschreibung diskret-ereignisorientierter Systeme 4 Simulation diskret-ereignisorientierter Systeme 5 Wissenschaftlich-technische Berechnungsumgebungen (SCEs) Teil B - eigene Konzeption, Entwicklung, Beitrag 6 Konzeption/Machbarkeit PDES in SCEs/interpretativ 7 Konzeption/Machbarkeit HLA in SCEs/interpretativ 8 Konzeption/Machbarkeit HLA in F90/prozedural Teil C - anwendungsorientierte Untersuchungen 9 Benchmarks 10 RCP / Verteilte Steuerung 11 Simulation im Schiffsentwurf
2 / 16 Gliederung der Arbeit 1 Einleitung Teil A - Grundlagen, Voraussetzungen, SdT 2 Grundlagen der parallelen und verteilten Verarbeitung 3 Beschreibung diskret-ereignisorientierter Systeme 4 Simulation diskret-ereignisorientierter Systeme 5 Wissenschaftlich-technische Berechnungsumgebungen (SCEs) Teil B - eigene Konzeption, Entwicklung, Beitrag 6 Konzeption/Machbarkeit PDES in SCEs/interpretativ 7 Konzeption/Machbarkeit HLA in SCEs/interpretativ 8 Konzeption/Machbarkeit HLA in F90/prozedural Teil C - anwendungsorientierte Untersuchungen 9 Benchmarks 10 RCP / Verteilte Steuerung 11 Simulation im Schiffsentwurf
2 / 16 Gliederung der Arbeit 1 Einleitung Teil A - Grundlagen, Voraussetzungen, SdT 2 Grundlagen der parallelen und verteilten Verarbeitung 3 Beschreibung diskret-ereignisorientierter Systeme 4 Simulation diskret-ereignisorientierter Systeme 5 Wissenschaftlich-technische Berechnungsumgebungen (SCEs) Teil B - eigene Konzeption, Entwicklung, Beitrag 6 Konzeption/Machbarkeit PDES in SCEs/interpretativ 7 Konzeption/Machbarkeit HLA in SCEs/interpretativ 8 Konzeption/Machbarkeit HLA in F90/prozedural Teil C - anwendungsorientierte Untersuchungen 9 Benchmarks 10 RCP / Verteilte Steuerung 11 Simulation im Schiffsentwurf
2 / 16 Gliederung der Arbeit 1 Einleitung Teil A - Grundlagen, Voraussetzungen, SdT 2 Grundlagen der parallelen und verteilten Verarbeitung 3 Beschreibung diskret-ereignisorientierter Systeme 4 Simulation diskret-ereignisorientierter Systeme 5 Wissenschaftlich-technische Berechnungsumgebungen (SCEs) Teil B - eigene Konzeption, Entwicklung, Beitrag 6 Konzeption/Machbarkeit PDES in SCEs/interpretativ 7 Konzeption/Machbarkeit HLA in SCEs/interpretativ 8 Konzeption/Machbarkeit HLA in F90/prozedural Teil C - anwendungsorientierte Untersuchungen 9 Benchmarks 10 RCP / Verteilte Steuerung 11 Simulation im Schiffsentwurf
3 / 16 PV (allgemein) Ziele: Ausführungsbeschleunigung Skalierbarkeit Parallelisierungsebenen: Experiment-Ebene... (Diss. Fink, Diss. Pawletta) z.b. MonteCarlo-Studie kont./diskret Modellebene... (Diss. Fink, Diss. Pawletta für kont. Probleme) DES PDES Laufzeitebene ODE-Solver, Zufallsgeneratoren, Ereignisliste
4 / 16 Simulation diskret-ereignisorientierter Systeme Grundprinzip der ereignisgesteuerten Simulation Modell e 0 : state = 0 t Sim + 10 e 1 e 1 : state+ = 1 t Sim + 100 e 2, t Sim + 1000 e 2 e 2 : state = 1 t Sim + 10 e 1 Simulation
4 / 16 Simulation diskret-ereignisorientierter Systeme Grundprinzip der ereignisgesteuerten Simulation Modell e 0 : state = 0 t Sim + 10 e 1 e 1 : state+ = 1 t Sim + 100 e 2, t Sim + 1000 e 2 e 2 : state = 1 t Sim + 10 e 1 Simulation
4 / 16 Simulation diskret-ereignisorientierter Systeme Grundprinzip der ereignisgesteuerten Simulation Modell e 0 : state = 0 t Sim + 10 e 1 e 1 : state+ = 1 t Sim + 100 e 2, t Sim + 1000 e 2 e 2 : state = 1 t Sim + 10 e 1 Simulation event t Sim state list 1 state 0 t Sim
4 / 16 Simulation diskret-ereignisorientierter Systeme Grundprinzip der ereignisgesteuerten Simulation Modell e 0 : state = 0 t Sim + 10 e 1 e 1 : state+ = 1 t Sim + 100 e 2, t Sim + 1000 e 2 e 2 : state = 1 t Sim + 10 e 1 Simulation event t Sim state list e 0 0 0 10 e 1 1 state 0 t Sim
4 / 16 Simulation diskret-ereignisorientierter Systeme Grundprinzip der ereignisgesteuerten Simulation Modell e 0 : state = 0 t Sim + 10 e 1 e 1 : state+ = 1 t Sim + 100 e 2, t Sim + 1000 e 2 e 2 : state = 1 t Sim + 10 e 1 Simulation event t Sim state list state t Sim e 0 0 0 10 e 1 e 1 10 1 110 e 2 0 10 1010 e 2 1
4 / 16 Simulation diskret-ereignisorientierter Systeme Grundprinzip der ereignisgesteuerten Simulation Modell e 0 : state = 0 t Sim + 10 e 1 e 1 : state+ = 1 t Sim + 100 e 2, t Sim + 1000 e 2 e 2 : state = 1 t Sim + 10 e 1 Simulation event t Sim state list state t e 0 0 0 10 e 1 e 1 10 1 110 e 2 1010 e 2 e 2 110 0 120 e 1 0 10 110 1010 e 2 Sim 1
Simulation diskret-ereignisorientierter Systeme Grundprinzip der ereignisgesteuerten Simulation Modell e 0 : state = 0 t Sim + 10 e 1 e 1 : state+ = 1 t Sim + 100 e 2, t Sim + 1000 e 2 e 2 : state = 1 t Sim + 10 e 1 Simulation event t Sim state list e 0 0 0 10 e 1 e 1 10 1 110 e 2 1010 e 2 e 2 110 0 120 e 1 1010 e 2 e 1 120 1 220 e 2 1010 e 2 1120 e 2 1 state 0 10 110 120 t Sim 4 / 16
Simulation diskret-ereignisorientierter Systeme Grundprinzip der ereignisgesteuerten Simulation Modell e 0 : state = 0 t Sim + 10 e 1 e 1 : state+ = 1 t Sim + 100 e 2, t Sim + 1000 e 2 e 2 : state = 1 t Sim + 10 e 1 Simulation event t Sim state list e 0 0 0 10 e 1 e 1 10 1 110 e 2 1010 e 2 e 2 110 0 120 e 1 1010 e 2 e 1 120 1 220 e 2 1010 e 2 1120 e 2 1 state 0 10 110 120 220 t Sim 4 / 16
Simulation diskret-ereignisorientierter Systeme Grundprinzip der ereignisgesteuerten Simulation Modell e 0 : state = 0 t Sim + 10 e 1 e 1 : state+ = 1 t Sim + 100 e 2, t Sim + 1000 e 2 e 2 : state = 1 t Sim + 10 e 1 Simulation event t Sim state list e 0 0 0 10 e 1 e 1 10 1 110 e 2 1010 e 2 e 2 110 0 120 e 1 1010 e 2 e 1 120 1 220 e 2 1010 e 2 1120 e 2 1 state 0 10 110 120 220 kontinuierliche Zeitbasis t Sim Ereignisauftritt zu diskreten Zeitpunkten, Ereig. benötigen keine Simulationszeit, Ereig. Ursache für Zustandsänderung 4 / 16
5 / 16 Simulation diskret-ereignisorientierter Systeme Parallele Ausführung Gesamtmodell in Teilmodelle partitioniert (Logische Prozesse) e0, e 1 LP1, e 2 LP2 Forderung: Par. Ausführung ergebnisgleich zur seq. Ausführung!
5 / 16 Simulation diskret-ereignisorientierter Systeme Parallele Ausführung Gesamtmodell in Teilmodelle partitioniert (Logische Prozesse) e0, e 1 LP1, e 2 LP2 Forderung: Par. Ausführung ergebnisgleich zur seq. Ausführung!
5 / 16 Simulation diskret-ereignisorientierter Systeme Parallele Ausführung Gesamtmodell in Teilmodelle partitioniert (Logische Prozesse) e0, e 1 LP1, e 2 LP2 Forderung: Par. Ausführung ergebnisgleich zur seq. Ausführung! event t Sim state list e 0 0 0 10 e 1 e 1 10 1 110 e 2 1010 e 2 e 2 110 0 120 e 1 1010 e 2 e 1 120 1 220 e 2 1010 e 2 1120 e 2
5 / 16 Simulation diskret-ereignisorientierter Systeme Parallele Ausführung Gesamtmodell in Teilmodelle partitioniert (Logische Prozesse) e0, e 1 LP1, e 2 LP2 Forderung: Par. Ausführung ergebnisgleich zur seq. Ausführung! event t Sim state list e 0 0 0 10 e 1 e 1 10 1 110 e 2 1010 e 2 e 2 110 0 120 e 1 1010 e 2 e 1 120 1 220 e 2 1010 e 2 1120 e 2
5 / 16 Simulation diskret-ereignisorientierter Systeme Parallele Ausführung Gesamtmodell in Teilmodelle partitioniert (Logische Prozesse) e0, e 1 LP1, e 2 LP2 Forderung: Par. Ausführung ergebnisgleich zur seq. Ausführung! event t Sim state list 110 e2 e 0 0 0 10 e 1 e 1 10 1 110 e 2 1010 e 2 e 2 110 0 120 e 1 1010 e 2 e 1 120 1 220 e 2 1010 e 2 1120 e 2 LP1 1010 e2 LP2
5 / 16 Simulation diskret-ereignisorientierter Systeme Parallele Ausführung Gesamtmodell in Teilmodelle partitioniert (Logische Prozesse) e0, e 1 LP1, e 2 LP2 Forderung: Par. Ausführung ergebnisgleich zur seq. Ausführung! event t Sim state list 110 e2 e 0 0 0 10 e 1 e 1 10 1 110 e 2 1010 e 2 e 2 110 0 120 e 1 1010 e 2 e 1 120 1 220 e 2 1010 e 2 1120 e 2 LP1 LP1 1010 e2 1010 e2 110 e2 LP2 LP2
5 / 16 Simulation diskret-ereignisorientierter Systeme Parallele Ausführung Gesamtmodell in Teilmodelle partitioniert (Logische Prozesse) e0, e 1 LP1, e 2 LP2 Forderung: Par. Ausführung ergebnisgleich zur seq. Ausführung! event t Sim state list e 0 0 0 10 e 1 e 1 10 1 110 e 2 1010 e 2 e 2 110 0 120 e 1 1010 e 2 e 1 120 1 220 e 2 1010 e 2 1120 e 2 110 e2 LP1 LP2 1010 e2 1010 e2 LP1 LP2 110 e2 Kausalitätsverletzung
6 / 16 Simulation diskret-ereignisorientierter Systeme Parallele Ausführung Kausalitätswahrung in paralleler Ausführung Ziel von Synchronisationsalgorithmen Klassen konservativ: Vermeiden jegliche Kausalitätsverletzung, aber i.d.r. verklemmend nicht-verklemmende Verfahren (Null-Message-Verfahren; nm1, nm2) azyklisch (asynchron) verklemmende Verfahren, Verklemmung wird erkannt und behoben (ddar) zyklisch (synchron) verklemmende Verfahren (snyc) optimistisch: Erkennen Kausalitätsverletzung und beheben aktiv deren Folgen (Rollback; Timewarp-Verfahren (tw)) hybrid: Mischformen obiger Verfahren effiziente Sync-Algorithmen Forschungsgegenstand seit Ende der 70er bis heute
6 / 16 Simulation diskret-ereignisorientierter Systeme Parallele Ausführung Kausalitätswahrung in paralleler Ausführung Ziel von Synchronisationsalgorithmen Klassen konservativ: Vermeiden jegliche Kausalitätsverletzung, aber i.d.r. verklemmend nicht-verklemmende Verfahren (Null-Message-Verfahren; nm1, nm2) azyklisch (asynchron) verklemmende Verfahren, Verklemmung wird erkannt und behoben (ddar) zyklisch (synchron) verklemmende Verfahren (snyc) optimistisch: Erkennen Kausalitätsverletzung und beheben aktiv deren Folgen (Rollback; Timewarp-Verfahren (tw)) hybrid: Mischformen obiger Verfahren effiziente Sync-Algorithmen Forschungsgegenstand seit Ende der 70er bis heute
6 / 16 Simulation diskret-ereignisorientierter Systeme Parallele Ausführung Kausalitätswahrung in paralleler Ausführung Ziel von Synchronisationsalgorithmen Klassen konservativ: Vermeiden jegliche Kausalitätsverletzung, aber i.d.r. verklemmend nicht-verklemmende Verfahren (Null-Message-Verfahren; nm1, nm2) azyklisch (asynchron) verklemmende Verfahren, Verklemmung wird erkannt und behoben (ddar) zyklisch (synchron) verklemmende Verfahren (snyc) optimistisch: Erkennen Kausalitätsverletzung und beheben aktiv deren Folgen (Rollback; Timewarp-Verfahren (tw)) hybrid: Mischformen obiger Verfahren effiziente Sync-Algorithmen Forschungsgegenstand seit Ende der 70er bis heute
6 / 16 Simulation diskret-ereignisorientierter Systeme Parallele Ausführung Kausalitätswahrung in paralleler Ausführung Ziel von Synchronisationsalgorithmen Klassen konservativ: Vermeiden jegliche Kausalitätsverletzung, aber i.d.r. verklemmend nicht-verklemmende Verfahren (Null-Message-Verfahren; nm1, nm2) azyklisch (asynchron) verklemmende Verfahren, Verklemmung wird erkannt und behoben (ddar) zyklisch (synchron) verklemmende Verfahren (snyc) optimistisch: Erkennen Kausalitätsverletzung und beheben aktiv deren Folgen (Rollback; Timewarp-Verfahren (tw)) hybrid: Mischformen obiger Verfahren effiziente Sync-Algorithmen Forschungsgegenstand seit Ende der 70er bis heute
6 / 16 Simulation diskret-ereignisorientierter Systeme Parallele Ausführung Kausalitätswahrung in paralleler Ausführung Ziel von Synchronisationsalgorithmen Klassen konservativ: Vermeiden jegliche Kausalitätsverletzung, aber i.d.r. verklemmend nicht-verklemmende Verfahren (Null-Message-Verfahren; nm1, nm2) azyklisch (asynchron) verklemmende Verfahren, Verklemmung wird erkannt und behoben (ddar) zyklisch (synchron) verklemmende Verfahren (snyc) optimistisch: Erkennen Kausalitätsverletzung und beheben aktiv deren Folgen (Rollback; Timewarp-Verfahren (tw)) hybrid: Mischformen obiger Verfahren effiziente Sync-Algorithmen Forschungsgegenstand seit Ende der 70er bis heute
6 / 16 Simulation diskret-ereignisorientierter Systeme Parallele Ausführung Kausalitätswahrung in paralleler Ausführung Ziel von Synchronisationsalgorithmen Klassen konservativ: Vermeiden jegliche Kausalitätsverletzung, aber i.d.r. verklemmend nicht-verklemmende Verfahren (Null-Message-Verfahren; nm1, nm2) azyklisch (asynchron) verklemmende Verfahren, Verklemmung wird erkannt und behoben (ddar) zyklisch (synchron) verklemmende Verfahren (snyc) optimistisch: Erkennen Kausalitätsverletzung und beheben aktiv deren Folgen (Rollback; Timewarp-Verfahren (tw)) hybrid: Mischformen obiger Verfahren effiziente Sync-Algorithmen Forschungsgegenstand seit Ende der 70er bis heute
7 / 16 Konservativer LP (kausalitätswahrend, verklemmend) Einfacher verteilter Scheduler while (sim not over) wait until each FIFO contains msg remove smallest ts-msg M from its FIFO clock = ts of M process M sichert Ereignisausführung in nicht absteigender Zeitstempelordnung somit t sim monoton steigend (LCC), somit Ergebnisse verteilter Ausführung äquivalent sequentieller Ausführung Problem: I. a. verklemmt verteiltes Scheduling (!Verklemmung verursacht durch Verteilung!)
Konservativer LP (kausalitätswahrend, verklemmend) Beispiel 8 / 16
Konservativer LP (kausalitätswahrend, verklemmend) Beispiel 8 / 16
Konservativer LP (kausalitätswahrend, verklemmend) Beispiel 8 / 16
Konservativer LP (kausalitätswahrend, verklemmend) Beispiel 8 / 16
Konservativer LP (kausalitätswahrend, verklemmend) Beispiel 8 / 16
Konservativer LP (kausalitätswahrend, verklemmend) Beispiel 8 / 16
Beispiel konservativer Sync.-Algorithmus Nullmessage Algorithmus (nm2) Lookahead 9 / 16
Beispiel konservativer Sync.-Algorithmus Nullmessage Algorithmus (nm2) Lookahead 9 / 16
Beispiel konservativer Sync.-Algorithmus Nullmessage Algorithmus (nm2) Lookahead 9 / 16
Beispiel konservativer Sync.-Algorithmus Nullmessage Algorithmus (nm2) Lookahead 9 / 16
Beispiel konservativer Sync.-Algorithmus Nullmessage Algorithmus (nm2) Lookahead 9 / 16
Beispiel konservativer Sync.-Algorithmus Nullmessage Algorithmus (nm2) Lookahead 9 / 16
Beispiel konservativer Sync.-Algorithmus Nullmessage Algorithmus (nm2) Lookahead 9 / 16
Beispiel konservativer Sync.-Algorithmus Nullmessage Algorithmus (nm2) Lookahead 9 / 16
Beispiel konservativer Sync.-Algorithmus Nullmessage Algorithmus (nm2) Lookahead 9 / 16
Beispiel konservativer Sync.-Algorithmus Nullmessage Algorithmus (nm2) Lookahead 9 / 16
Beispiel konservativer Sync.-Algorithmus Nullmessage Algorithmus (nm2) Lookahead 9 / 16
Beispiel konservativer Sync.-Algorithmus Nullmessage Algorithmus (nm2) Lookahead 9 / 16
Beispiel konservativer Sync.-Algorithmus Nullmessage Algorithmus (nm2) Lookahead 9 / 16
Beispiel konservativer Sync.-Algorithmus Nullmessage Algorithmus (nm2) Lookahead 9 / 16
Beispiel konservativer Sync.-Algorithmus Nullmessage Algorithmus (nm2) Lookahead 9 / 16
Beispiel konservativer Sync.-Algorithmus Nullmessage Algorithmus (nm2) Lookahead 9 / 16
Beispiel konservativer Sync.-Algorithmus Nullmessage Algorithmus (nm2) Lookahead 9 / 16
10 / 16 Beispiel optimistischer Sync.-Algorithmus Time Warp (tw) LP1 t real t sim FIFO i 7 64 51 FIFOo LP2 t real t sim FIFO i 8 31 FIFOo Ereignisausführung Scheduling Straggler Antimsg Ereigniseinplanung Topologie: LP1 LP2
10 / 16 Beispiel optimistischer Sync.-Algorithmus Time Warp (tw) LP1 t real t sim FIFO i FIFOo 7 64 51 51 64 LP2 t real t sim FIFO i FIFOo 8 31 Ereignisausführung Scheduling Straggler Antimsg Ereigniseinplanung Topologie: LP1 LP2
10 / 16 Beispiel optimistischer Sync.-Algorithmus Time Warp (tw) LP1 t real t sim FIFO i FIFOo 7 64 51 51 64 64 LP2 t real t sim FIFO i FIFOo 8 31 Ereignisausführung Scheduling Straggler Antimsg Ereigniseinplanung Topologie: LP1 LP2
10 / 16 Beispiel optimistischer Sync.-Algorithmus Time Warp (tw) LP1 t real t sim FIFO i 7 64 51 51 64 64 FIFOo LP2 t real t sim FIFO i 8 31 FIFOo Ereignisausführung Scheduling Straggler Antimsg Ereigniseinplanung Topologie: LP1 LP2
10 / 16 Beispiel optimistischer Sync.-Algorithmus Time Warp (tw) LP1 t real t sim FIFO i 7 64 51 51 64 64 FIFOo LP2 t real t sim FIFO i FIFOo 8 31 31 Ereignisausführung Scheduling Straggler Antimsg Ereigniseinplanung Topologie: LP1 LP2
10 / 16 Beispiel optimistischer Sync.-Algorithmus Time Warp (tw) LP1 t real t sim 7 51 64 FIFO i 64 51 64 FIFOo LP2 t real t sim FIFO i FIFOo 8 31 31 31 Ereignisausführung Scheduling Straggler Antimsg Ereigniseinplanung Topologie: LP1 LP2
10 / 16 Beispiel optimistischer Sync.-Algorithmus Time Warp (tw) LP1 t real t sim 7 51 64 FIFO i 64 51 64 FIFOo LP2 t real t sim 8 31 FIFO i 31 31 FIFOo 56 Ereignisausführung Scheduling Straggler Antimsg Ereigniseinplanung Topologie: LP1 LP2
10 / 16 Beispiel optimistischer Sync.-Algorithmus Time Warp (tw) LP1 t real t sim 7 51 64 64 FIFO i 64 51 64 FIFOo LP2 t real t sim 8 31 FIFO i 31 31 FIFOo 56 Ereignisausführung Scheduling Straggler Antimsg Ereigniseinplanung Topologie: LP1 LP2
10 / 16 Beispiel optimistischer Sync.-Algorithmus Time Warp (tw) LP1 t real t sim 7 51 64 64 FIFO i 64 51 64 56 FIFOo LP2 t real t sim 8 31 FIFO i 31 31 FIFOo 56 Ereignisausführung Scheduling Straggler Antimsg Ereigniseinplanung Topologie: LP1 LP2
10 / 16 Beispiel optimistischer Sync.-Algorithmus Time Warp (tw) LP1 t real t sim 7 51 64 64 FIFO i 64 51 64 56 FIFOo LP2 t real t sim 8 31 FIFO i 31 31 FIFOo 56 Ereignisausführung Scheduling Straggler Antimsg Ereigniseinplanung Topologie: LP1 LP2
10 / 16 Beispiel optimistischer Sync.-Algorithmus Time Warp (tw) LP1 t real t sim 7 51 64 64 FIFO i 64 51 64 56 FIFOo LP2 t real t sim 8 31 FIFO i 31 31 FIFOo 56 Ereignisausführung Scheduling Straggler Antimsg Ereigniseinplanung Topologie: LP1 LP2
10 / 16 Beispiel optimistischer Sync.-Algorithmus Time Warp (tw) LP1 t real t sim 7 51 64 64 51 FIFO i 64 51 64 56 64 56 FIFOo LP2 t real t sim 8 31 FIFO i 31 31 FIFOo 56 Ereignisausführung Scheduling Straggler Antimsg Ereigniseinplanung Topologie: LP1 LP2
10 / 16 Beispiel optimistischer Sync.-Algorithmus Time Warp (tw) LP1 t real t sim 7 51 64 64 51 FIFO i 64 51 64 56 64 56 FIFOo LP2 t real t sim 8 31 FIFO i 31 31 FIFOo 56 Ereignisausführung Scheduling Straggler Antimsg Ereigniseinplanung Topologie: LP1 LP2
10 / 16 Beispiel optimistischer Sync.-Algorithmus Time Warp (tw) LP1 t real t sim 7 51 64 64 51 FIFO i 64 51 64 56 64 56 FIFOo LP2 t real t sim 8 31 FIFO i 31 31 FIFOo 56 Ereignisausführung Scheduling Straggler Antimsg Ereigniseinplanung Topologie: LP1 LP2
10 / 16 Beispiel optimistischer Sync.-Algorithmus Time Warp (tw) LP1 t real t sim 7 51 64 64 51 FIFO i 64 51 64 56 64 56 FIFOo LP2 t real t sim 8 31 FIFO i 31 31 FIFOo 56 Ereignisausführung Scheduling Straggler Antimsg Ereigniseinplanung Topologie: LP1 LP2
10 / 16 Beispiel optimistischer Sync.-Algorithmus Time Warp (tw) LP1 t real t sim 7 51 64 64 51 FIFO i 64 51 64 56 64 56 FIFOo LP2 t real t sim 8 31 FIFO i 31 31 FIFOo 56 Ereignisausführung Scheduling Straggler Antimsg Ereigniseinplanung Topologie: LP1 LP2
10 / 16 Beispiel optimistischer Sync.-Algorithmus Time Warp (tw) LP1 t real t sim 7 51 64 64 51 FIFO i 64 51 64 56 64 56 FIFOo LP2 t real t sim 8 31 31 FIFO i 31 31 FIFOo 56 Ereignisausführung Scheduling Straggler Antimsg Ereigniseinplanung Topologie: LP1 LP2
11 / 16 Synthetischer Benchmark Beschleunigung von Realanwendungen bisher erfolglos (Roboter,KT) Grund: Leichtgewichtig Entwurf eines einfachen synthetischen Modells Ziel: Rückschluss auf Struktur realer Anwendungen synth. Modell erlaubt das Einstellen von Anzahl Zeitpunkte über Sim-Horizont Anzahl Ereignisse/Zeitpunkt Anzahl Komms über Sim-Horizont Lookahead Modell läuft oberhalb implementierter Sync-Algorithmen (nm2, ddar, sync, tw) Quervergleich Sync-Algos. mgl.
Synthetischer Benchmark EGM-Modell dt {msgc1+=1} Arrival1 (ec1==(tend*pe)/(nc*dt)) Depart1 T inc Msgc1 Run {ec1+=1} {ec1=0} dt {ec1=0, ec2=0, msgc1=0, msgc2=0} Arrival2 Depart2 T inc Msgc2 (ec2==(tend*pe)/(nc*dt)) {ec2+=1} {ec2=0} {msgc2+=1} 12 / 16
Synthetischer Benchmark EGM-Modell Anz. Ereigniszeitpunkte = tend/dt Anz. Depart-Ereignisse über nc Anz. Ereignisse ~ tend/dt * pe dt {msgc1+=1} Arrival1 (ec1==(tend*pe)/(nc*dt)) Depart1 T inc Msgc1 Run {ec1+=1} {ec1=0} dt {ec1=0, ec2=0, msgc1=0, msgc2=0} Arrival2 Depart2 T inc Msgc2 (ec2==(tend*pe)/(nc*dt)) {ec2+=1} {ec2=0} {msgc2+=1} 12 / 16
Synthetischer Benchmark EGM-Modell dt Arrival1 (ec1==(tend*pe)/(nc*dt)) Anz. Ereigniszeitpunkte = tend/dt Anz. Depart-Ereignisse über nc Anz. Ereignisse ~ tend/dt * pe {ec1+=1} pe dt {msgc1+=1} Arrival1 (ec1==(tend*pe)/(nc*dt)) Depart1 T inc Msgc1 Run {ec1+=1} {ec1=0} dt {ec1=0, ec2=0, msgc1=0, msgc2=0} Arrival2 Depart2 T inc Msgc2 (ec2==(tend*pe)/(nc*dt)) {ec2+=1} {ec2=0} {msgc2+=1} pe dt Arrival2 (ec2==(tend*pe)/(nc*dt)) {ec2+=1} 12 / 16
Synthetischer Benchmark EGM-Modell LP1 dt Arrival1 Anz. Ereigniszeitpunkte = tend/dt Anz. Depart-Ereignisse über nc Anz. Ereignisse ~ tend/dt * pe {ec1+=1} (ec1==(tend*pe)/(nc*dt)) Lookahead T pe dt {msgc1+=1} Arrival1 (ec1==(tend*pe)/(nc*dt)) Depart1 T inc Msgc1 Run {ec1+=1} {ec1=0} Run dt {ec1=0, ec2=0, msgc1=0, msgc2=0} Arrival2 Depart2 T inc Msgc2 (ec2==(tend*pe)/(nc*dt)) {ec2+=1} {ec2=0} {msgc2+=1} LP2 pe dt Arrival2 (ec2==(tend*pe)/(nc*dt)) {ec2+=1} 12 / 16
13 / 16 Studienergebnisse Sync-Verfahren im Vergleich Ziel: Struktur geeigneter (beschleunigbarer) Anwendungen? Weg: Richtige Fragestellung an synthetisches Modell Einfluss Modellstruktur auf Speedup pe Einfluss Kommunikation auf Speedup nc Overhead Synchronisationsalgorithmen LH=tend Einfluss Lookahead auf Speedup T...
13 / 16 Studienergebnisse Sync-Verfahren im Vergleich Ziel: Struktur geeigneter (beschleunigbarer) Anwendungen? Weg: Richtige Fragestellung an synthetisches Modell Einfluss Modellstruktur auf Speedup pe Einfluss Kommunikation auf Speedup nc Overhead Synchronisationsalgorithmen LH=tend Einfluss Lookahead auf Speedup T...
14 / 16 Studienergebnisse Sync-Verfahren im Vergleich, Einfluss LH Komm. zu jedem dt, T bzw. LH variiert, pe=2048, dt=0.5 820000 Ereignisse im Sim.-horizont (tend=100)
15 / 16 Zusammenfassung und Ausblick Zusammenfassung Zielstellungen der Arbeit (u.a. PDES in AT) Status Promotion anhand Gliederung Arbeit Grundlagen PDES, ausgesuchte Verfahren synthetisches Modell, Quervergleich Verfahren bei bestimmter Modellstruktur bzgl LH Ausblick weitere Untersuchungen am synth. Modell Fertigstellung der schriftlichen Arbeit
15 / 16 Zusammenfassung und Ausblick Zusammenfassung Zielstellungen der Arbeit (u.a. PDES in AT) Status Promotion anhand Gliederung Arbeit Grundlagen PDES, ausgesuchte Verfahren synthetisches Modell, Quervergleich Verfahren bei bestimmter Modellstruktur bzgl LH Ausblick weitere Untersuchungen am synth. Modell Fertigstellung der schriftlichen Arbeit
16 / 16 Publikationsliste 1 C. Stenzel, S. Pawletta, R. Ems, P. Bünning: HLA Applied to Military Ship Design Process. In: SNE Simulation News Europe - Special Issue on Parallel and Distributed Simulation Methods and Environments ARGESIM/ASIM-Verlag, Wien, München, 51-56, 16, 2006. 2 G. Maletzki, C. Stenzel, T. Pawletta, S. Pawletta, B. Lampe: Entwicklung von flexiblen aufgabenorientierten Robotersteuerungen. In: Entwurf komplexer Automatisierungssysteme - U. Jumar, E. Schnieder, C. Diedrich (Hrsg.), ifak, Otto-von-Guericke-Universität Magdeburg, 363-372, EKA 2008. 3 C. Stenzel: Distributed Simulation In Technical Applications. In: Proceedings of the X. International PhD Workshop, OWD 2008, Conference Archives PETiS, Vol. 25, Gliwice, Poland, 513-518, 2008. 4 C. Stenzel: Modellierung diskret-ereignisorientierter Systeme. Technischer Bericht, FG CEA, Hochschule Wismar, Mai 2009.