Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra...
-
Upload
juniper-fleming -
Category
Documents
-
view
219 -
download
4
Transcript of Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra...
Computer Simulation of Computer Simulation of NetworksNetworks
ECE/CSC 777: Telecommunications Network Design
Fall, 2013, Rudra Dutta
Copyright Fall 2013, Rudra Dutta, NCSU
Objective - Performance StudyObjective - Performance Study Direct Measurement
– Reactive Disrupts the user/system, affects the behavior/characteristics Can be done only on completed running systems
Predictive– Analytical Methods
Useful if the model is available and is computationally efficient– Most systems are complex and require highly complex mathematical
models Usually only steady state can be modeled
– Simulation Give more detail than analytical modeling
– Very useful when large design space to be explored– Can study dynamic behavior
Not exact and involves some amount of approximation– Can explore only part of operational space
Halfway approach - some implementation
Copyright Fall 2013, Rudra Dutta, NCSU
Simulation and ModelSimulation and Model
Image courtesy of GSU, “Hyperphysics” site, Rovio
Copyright Fall 2013, Rudra Dutta, NCSU
SimulationSimulation Programmatic representation of system entities
– We know how bits and pieces of the system work algorithmically
Possibly for some bits we know mathematically
– Implement these algorithms and let them interact
Two main types of simulation– Discrete event
discrete points in time, using random number generators
– Continuous time State changes occur continuously across time
Packages– E.g. OPNET (commercial), NS-2 (open source), OMNeT++ – Levels of detail
E.g. packet level, flow level
Copyright Fall 2013, Rudra Dutta, NCSU
Discrete Event SimulationDiscrete Event Simulation Useful for speeding up when details are abstracted Decide what happens first
– Many things happen after this that are not modeled in the simulation
– E.g. in GBN the next thing after receiving frame is sending ACK Decide what events are triggered by this event that are
modeled by simulation– Arrange in order of time of occurrence
Jump to next event, do the same– Until you run out of events, or have run it for “long enough”
Discrete Event ExampleDiscrete Event Example
Sender transmits three messages at times 0s, 10s, 20s
The channel takes 2s to propagate
Receiver takes a random time between 1s and 9s to process
Sends back either a “more info” request or an “OK”, alternately
Upon “more info”, sender sends one more message immediately
Copyright Fall 2013, Rudra Dutta, NCSU
SS DD
0s: S sends P10s: S sends P1
10s: S sends P210s: S sends P2
20s: S sends P320s: S sends P3
2s: R rcvs P12s: R rcvs P1
Discrete Event ExampleDiscrete Event Example
Sender transmits three messages at times 0s, 10s, 20s
The channel takes 2s to propagate
Receiver takes a random time between 1s and 9s to process
Sends back either a “more info” request or an “OK”, alternately
Upon “more info”, sender sends one more message immediately
Copyright Fall 2013, Rudra Dutta, NCSU
SS DD0s: S sends P10s: S sends P1
10s: S sends P210s: S sends P2
20s: S sends P320s: S sends P3
13s: R rcvs P1+13s: R rcvs P1+
11s: S sends P1+11s: S sends P1+
11s: S rcvs MI11s: S rcvs MI
9s: R sends MI9s: R sends MI
2s: R rcvs P12s: R rcvs P1
12s: R rcvs P212s: R rcvs P2
Copyright Fall 2013, Rudra Dutta, NCSU
Event ProcessorsEvent Processors Each event generates new events
– Event generation algorithm is an algorithmic model of the part of the system being simulated
– “Callback” handlers or processors Processing algorithms represent specific
entities, e.g. GBN receiver– These can obviously grow quite complex
Usually the bulk of the effort of simulation– Also the problem specific part– The Discrete Event framework is an engine and can
be commoditized– Hence the concept of “entity models” that plug into
such an engine
Copyright Fall 2013, Rudra Dutta, NCSU
Introduction to OPNETIntroduction to OPNET A variegated software package
– Modeler, IT Guru, SP Guru, …
Modeler: a comprehensive development environment driven from GUI
Features– Object-oriented modeling– Discrete event simulator– Integrated data analysis tool– More scalable and efficient simulation engine– Hundreds of protocol and vendor device models– Flexibility to develop detailed custom models
Extensive online documentation and tutorials - quick overview here
Copyright Fall 2013, Rudra Dutta, NCSU
Specification
Data Collection
and Simulation
Analysis
Using OPNETUsing OPNET
The cycle is repeated until we achieve the correct objective
Copyright Fall 2013, Rudra Dutta, NCSU
Typical ApplicationsTypical Applications Network (LAN/WAN) performance modeling Network planning R & D in communications architectures and
protocols Resource sizing …
Copyright Fall 2013, Rudra Dutta, NCSU
Model SpecificationModel Specification Objective - developing a representation of the
system Mirrors the hierarchical structure of real
networks/systems/… Primarily three levels of abstraction
– Network Model (highest level)Entire network, e.g., the entire Internet
– Node Model Individual devices, e.g., computers, routers, servers, …
– Process Model (lowest level)Basic level of functionalityTypically individual protocols
Copyright Fall 2013, Rudra Dutta, NCSU
Copyright Fall 2013, Rudra Dutta, NCSU
Creating Models in OPNET (1-a)Creating Models in OPNET (1-a) Project Editor Network Model
– Main work place for creating a network simulation– Where you can :
Create a network model using models from the Standard Model Library (the highest level of abstraction)
Choose statistics to collectExecute a simulationView results
– Two optionsObject Palette (use built-in models)Build your own nodes
Copyright Fall 2013, Rudra Dutta, NCSU
Creating Models in OPNET (1-b)Creating Models in OPNET (1-b) Corresponds to the
network architecture / topology
Copyright Fall 2013, Rudra Dutta, NCSU
Creating Models in OPNET (2-a)Creating Models in OPNET (2-a) Node Editor Node Model 2nd level of abstraction Used to define the behavior of each network object
(node/system) Important constituents of node model are
– Modules They model some internal aspect of node behavior E.g. simple traffic source, processor, …
– Packet streams (flow of data) Connect modules
Two options– Use the library– Build your own process modules
Copyright Fall 2013, Rudra Dutta, NCSU
Creating Models in OPNET (2-b)Creating Models in OPNET (2-b) Corresponds to the
internal structure of devices in the network
Copyright Fall 2013, Rudra Dutta, NCSU
Creating Models in OPNET (3-a)Creating Models in OPNET (3-a) Process Editor Process Model The lowest level of abstraction Represented by Finite State Machines (FSMs)
– State (icons)– Transitions (lines)
Operations performed in each state or for a transition are described in embedded C/C++ code blocks
Copyright Fall 2013, Rudra Dutta, NCSU
Creating Models in OPNET (3-b)Creating Models in OPNET (3-b)
Copyright Fall 2013, Rudra Dutta, NCSU
Many Other EditorsMany Other Editors E.g. link model editor, path editor, … Probe editor
– Specify the statistics to be collected during simulation, e.g. delay, throughput, utilization, …
– Two types of statisticsGlobalLocal
Two ways to collect statistics– Probe editor– Straight from the project editor
Copyright Fall 2013, Rudra Dutta, NCSU
Simulation & AnalysisSimulation & Analysis Simulation execution
– using the “configure simulation” tool, or “advanced configure simulation” tool
– Can specify various attributes, simulation time and other details
Analysis– Directly from project editor– No. of ways to analyze the results: get time-average,
peak values, etc.– Graphical analysis