Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Spezifikation von Kommunikationssystemen12. Simulation von Kommunikationsnetzen
Prof. Jochen Seitz
Fachgebiet „Kommunikationsnetze“
Sommersemester 2018
1 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Übersicht
1 Motivation
2 Definition
3 Simulationsumgebung
4 Simulation
5 Beispieltools
2 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Motivation
Bisher → SpezifikationASN.1, SDL, UMLAutomaten, Weg-Zeit-Diagramme
BewertungKonformitätZuverlässigkeit
Aber: keine Realisierung und EvaluationSimulation ganzer Knoten / Netze
Leistungsparameter
3 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Was sind Simulationen?
DefinitionVorgänge anhand realitätsgetreuer Modelle nachbilden undanalysierenhier: Kommunikationsnetze
Zieleein komplexes System / Modell verstehenFinden von robusten Lösungen für ein ProblemVergleich von verschiedener Lösungen
4 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Warum als Simulation?
Möglichkeiten ein System zu untersuchen:
Reales Systemmeist (noch) nicht verfügbar
Testbeds / Feldtestsbegrenzte Aussage zu Skalierbarkeiteventuell unerwünschte Nebeneffekte
Physische Modelleunüblich
Analytische mathematische Beschreibungals ”closed-form expression” darstellbarwird schnell komplexbasiert auf restriktiven Annahmen
5 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Komponenten
Zentrale SimulationsengineSammlung von Modellen (Links, Protokolle usw.)KonfigurationsskripteBenutzerschnittstelleVorverarbeitungswerkzeugeWerkzeuge zur Datenauswertung
6 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Simulationsengine
Beschreibt, wie die Simulationen ablaufenAbarbeitung erfolgt einheitlich, unabhängig vonAnwendungenHat Zugriff auf alle Parameter / Knoten
7 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Klassifikation
Zeitabhängigkeitstatisch (keine Auswirkungen)dynamisch (Änderungen über die Zeit)
Zufälligkeitdeterministisch (ohne zufälligen Komponenten)stochastisch (mit zufälligen Komponenten)
Variablenänderungendiskret (eventbasiert)kontinuierlich (Differentialgleichungen)
8 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Zeitänderung
t0 t1 t3t2
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11
t0
t5 t6 t7t9
Eventbasiert
Feste Zeitintervalle
Kontinuierliche reale Zeit
9 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Arten von Simulationen
Basierend auf Auswahl an Klassifikationsmerkmalen
Typisch: ereignisdiskrete Simulationengl. Discrete Event Simulator (DES)Systemzustand ändert sich nur, wenn Ereignisse auftretenZustand muss zwischen Ereignissen nicht betrachtetwerdennach Abarbeiten des aktuellen Ereignisses:
Simulationszeit auf Zeitstempel des nächsten EreignissesEngine berechnet neuen Systemzustand (inkl. weitererEreignisse)
Kontinuierliche SimulationSystemzustand ändert sich zu vorgegebenenZeitintervallenverwendet echte Zeitbei ausreichend kleinen Zeitintervallen: alleZusandsübergänge beobachtbar
10 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Ereignisse in DES
EreignisverwaltungEreignislisten (Ereignistyp und Zeitstempel)Ereignisse werden an Modelle weitergegebenModelle können als Reaktion neue Ereignisse auslösen
EventtypenBasisereignisseändern den Zustand des Systems(ankommende / erzeugte Pakete)Hilfsereignissewerden für Auswertung und Steuerung der Simulationbenötigt
11 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Allgemeiner Ablauf
InitialisierungSetzen der Simulationszeit (idealerweise auf 0.0)Startzustand der Simulation festlegenEreignislisten erzeugen und erstes Ereignis laden
Ereignisverarbeitung während der SimulationAktualisierung der Simulationszeit mit Zeitstempel desnächsten EreignissesBearbeitung des Ereignisses → alle entsprechendenAktionen ausführenEntsprechende Aktualisierung des Systemzustands
Beenden der Simulation
Was fehlt?Sammlung statistischer DatenAuswertung der Daten
12 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Benötige Informationen
NetztopologieKnoten (Endsysteme, Router, Server, ...)Verbindungen (mit ihren Eigenschaften)
Protokollstack auf den KnotenModularer AufbauStandardisierte Protokolle / eigene EntwicklungenAnwendung mit realistischem Verkehrsaufkommen
AuswertemoduleAnimationSammlung / Darstellung der ermittelten Werte
13 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Anforderungen an Simulationen
Realistische Modellierung vonSignalausbreitungProtokollen (den Schichten entsprechend)Mobilität der KnotenZu analysierender Algorithmus
Szenarien / NetztopologieRahmenbedingungennormales Verhalten von KnotenStraßen, Wege, VerkehrsregelnAnwendungsfallKatastrophe, Unfall
MetrikenWas soll gemessen werden?Durchsatz, Erfolgsrate, Verzögerungen . . .Bezug zum Use Casez.B. im Straßenverkehr: Bremsweg, Schadstoffaustoß,aber auch: Dauer des Staus
14 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Simulation Aufbauen
Simulationsumgebung erzeugenNetzwerk erzeugenProtokollstapel erzeugenAnwendungen konfigurierenModule zur Sammlung von Messdaten konfigurieren
15 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Problemdefinition - Welche Art von Simulation
Simulationen mit Abbruchkriteriumverwenden definierte Start- und AbbruchbedingungenMesswerte abhängig von Start- und Abbruchbedingungenähnlich zur Analyse von Einschwingverhalten (aber nichtidentisch)
Simulation stabiler Zustände – EinschwungphaseErgebnisse einer Start- oder Warmlaufphaseschwanken stark und
Simulation stabile Zustände – stationäre PhaseLangzeitverhalten eines Systems unter normaler Lastausreichend großer Beobachtungszeitraum notwendigentspricht einer Analyse von stationären Zuständen
16 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Eingaben
Trace-basiertvorher gesammelte Daten in der Simulation verwendensehr realitätsnah, zeigt was aufgezeichnet wurdeunflexibel:
andere Fälle werden eventuell nicht berücksichtigtAnpassung des Systems an einen Spezialfall möglich
Empirische Verteilungaus Messwerten ableiten, indem Messpunkte verbundenwerdeneinfach, relativ genauÄnderungen schwierig, limitierte Anzahl Fälle abbildbar
Statistische Verteilungeine passende statistische Verteilungsfunktion (z.B.Exponential, Gamma) verwendenkompakte Darstellung der Werte mit wenigen Parameterngeglättete Daten, passende Funktion schwer zu finden
17 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Warum Wahrscheinlichkeiten und Statistik?
Um ein Gefühl für die Daten zu bekommenErgebnisse der Experimente vorstellen und vergleichen
Wie vergleicht man Statistiken?graphischstatistische Hypotesentests
Aber: nicht Äpfel und Birnen vergleichen!
18 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Statistik - Wieviele Experimente sind notwendig?
Abhängig von der Anzahl variabler Parametern Parameter mit jeweils 10 möglichen Wertenergeben 10n mögliche KonfigurationenJede Konfiguration sollte mehrfach wiederholt werdenexponentieller Anstieg der Durchläufe
Sinvolle Auswahl der Konfigurationen notwendigaber: alle Zusammenhänge zwischen Parametern erfassen
19 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Statistik - Daten sammeln
Verwendung von Tools der SimulationsumgebungMittelwerte, Histogramme, QuantilschätzungErkennung von transientem VerhaltenErkennung von vorgegebener Genauigkeit der Ergbnisse
Speichern von RohdatenStandardmethode der jeweiligen ProgrammierspracheLogging-Funktion des Simulators
20 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Statistik - Von Rohdaten zum Diagramm
Werte aus Rohdaten aufbereitenSkripte (perl, bash)
Metriken berechnen (inkl. Standardabweichung fürVarianz)berechnete Werte in gefordertes Datenformat abspeichern
csvplotten der Daten
gnuplotR
gegebenenfalls fitten einer Verteilung
21 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Notwendige Arbeitsschritte
Problemdefinition
Datenanalyse
Modelle definieren
Konzeption prüfen
Programmierung
Testläufe / Debugging
Modell prüfen
Experiment planen
Simulation
Ergebnisse auswerten
Ergebnisse präsentieren
Modelle kombinieren
22 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Vorteile von Simulationen
oft die einzig mögliche Analyseformermöglicht den Vergleich verschiedener Alternativlösungenerlaubt die Beobachtung des Systems unter vorgegebenenUmgebungsparameternbietet Kontrolle über Umgebungsparameterermöglich Analyse von
Systemem mit großem Zeithorizont in verkürzter Zeitdetaillierten Abläufen bei verzögerter Ausführung
erfordert weniger / keine restriktiven Annahmenermöglicht schnellen Austausch von Modellen,Algorithmen und Variablenerlaubt die Verwendung externer Traces aus Messungenals Eingabe
23 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Nachteile von Simulationen
teilweise sehr zeitaufwendig (Entwicklung und Ausführung)sehr rechenintensivErgebnisse immer nur eine Schätzung des realenVerhaltens aufgrund im Modell getroffener AnnahmenAuswertung und Prüfung der Ergebnisse erfordertzusätzliche ZeitUngenaue Ergebnisse möglich, wennBeobachtungszeitraum zu kurzEventuell hörere Komplexität als notwendigAbhängigkeiten zwischen Variablen schwer zu erklärenund zu visualisierenAnalyse der Sensitivität schwierigviele Daten und realistische Animationen verleiten zuungerechtfertigtem Vertrauen in Ergebnisse
24 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Typische Probleme
zu Beginn oft unpräzise Zieldefinitionfalsche Detaillierungs- / Abstraktionsebeneungeeignete SimulationsumgebungSimulationsumgebung mit schlecht dokumentiertenFunktionenMissbrauch von Animationenfalsche Messwerte verwendeneinfaches Nachbilden eines Systems undErgebnisse als ”einzig wahre Lösung” ansehenkein Verständnis für Statistikfehlende Betrachtung der zufälligen Elementefehlende Erfassung von MesswertenBetrachtung als Programmieraufgabe
25 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Simulatoren
Freiverfügbare SimulatorenOMNeT++ns2ns3ONEQualNet
Kommerzielle SimulatorenMatlabOPNET/SteelCentral
weitere
26 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Beispiel: Drahtlose Sensornetze
Herausforderungen:Modellierung der beschränkten Ressourcen(Prozessorleitsung, Speicher, Energieeffizienz)Spezielle Hardware und BetriebssystemePhysikalischer Prozess, der überwacht werden soll
Spezielle SimulatorenTOSSIM - TinyOSCOOJA - ContikiCastalia - allgemein, basiert auf OMNeT++
27 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Beispiel: Delay Tolerante Netze
Herausforderungen:Lange SimulationszeitenInteraktionen zwischen Overlay und UnderlayVerschiedene Mobilitätsarten
Spezielle SimulatorenONE
28 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Beispiel: Car-2-X-Kommunikation
Herausforderungen:Fahrzeugverkehr realistisch nachbildenHohe Geschwindigkeiten
Spezielle SimulationserweiterungenVeins (OMNeT++ und SUMO)iTetris (ns3 und SUMO)
29 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Beispiel: Click
Herausforderungen:Wiederverwendbarkeit des Simulationsmodells fürImplementierung
Click Modular RouterRouting-Funktionalität als Click-Graph entwerfenGraph
in ns-3 integrierbarunter Linux lauffähigim Kernel als Thread oder im User-Space
30 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Zusammenfassung
Auswahl des geeigneten ToolsErkennen der Möglichkeiten des ToolsVerfügbarkeit von ModulenBeherrschen der betreffenden Programmiersprache
Kein optimales Tool für alle Fragestellungen
31 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Literatur I
Dressler, Falko und Christoph Sommer (2014). NetworkSimulation. University of Paderborn. Distributed EmbeddedSystems. URL:http://www.ccs-labs.org/teaching/nwsim/2014s/.
Kohler, Eddie, Robert Morris, Benjie Chen, John Jannotti undM. Frans Kaashoek (Aug. 2000). „The Click Modular Router“.In: ACM Transactions on Computer Systems 18 (3),S. 263–297.
Levis, Philip, Nelson Lee, Matt Welsh und David Culler (Nov.2003). „TOSSIM: Accurate and Scalable Simulation of EntireTinyOS Applications“. In: 1st ACM Conference on EmbeddedNetworked Sensor Systems (SenSys). ACM, S. 126–137.
MiXiM project (2011). URL: http://mixim.sourceforge.net/.
32 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Literatur II
Moltchanov, Dmitri A. (2012). Network Simulation andSimulators. Vorlesungfolien. Tampere University ofTechnology, Institute of Communication Engineering. URL:http://www.cs.tut.fi/kurssit/SGN-5876/netSimSGN.pdf.
Network Simulator 3 (ns-3) (2018). URL:http://www.nsnam.org/.
OMNeT++ Network Simulation Framework (2018). URL:http://www.omnetpp.org/.
Osterlind, Fredrik, Adam Dunkels, Joakim Eriksson,Niclas Finne und Thiemo Voigt (Nov. 2006). „Cross-LevelSensor Network Simulation with COOJA“. In: 31stConference on Local Computer Networks. IEEE, S. 641–648.
QualNet (2018). URL: https://web.scalable-networks.com/qualnet-network-simulator-software.
33 / 34
Motivation Definition Simulationsumgebung Simulation Beispieltools Literatur
Literatur III
The Network Simulator (ns-2) (2011). URL: http://nsnam.sourceforge.net/wiki/index.php/User_Information.
The Opportunistic Network Environment simulator (2015). URL:https://akeranen.github.io/the-one/.
TOSSIM (2013). URL: http://tinyos.stanford.edu/tinyos-wiki/index.php/TOSSIM.
Veins (Vehicle in Network Simulation) – The Open SourceVehicular Network Simulation Framework (2018). URL:http://veins.car2x.org/.
34 / 34