Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra...

21
Computer Simulation of Computer Simulation of Networks Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta

Transcript of Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra...

Page 1: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

Computer Simulation of Computer Simulation of NetworksNetworks

ECE/CSC 777: Telecommunications Network Design

Fall, 2013, Rudra Dutta

Page 2: Computer Simulation of Networks 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

Page 3: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

Copyright Fall 2013, Rudra Dutta, NCSU

Simulation and ModelSimulation and Model

Image courtesy of GSU, “Hyperphysics” site, Rovio

Page 4: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

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

Page 5: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

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”

Page 6: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

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

Page 7: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

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

Page 8: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

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

Page 9: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

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

Page 10: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

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

Page 11: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

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 …

Page 12: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

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

Page 13: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

Copyright Fall 2013, Rudra Dutta, NCSU

Page 14: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

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

Page 15: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

Copyright Fall 2013, Rudra Dutta, NCSU

Creating Models in OPNET (1-b)Creating Models in OPNET (1-b) Corresponds to the

network architecture / topology

Page 16: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

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

Page 17: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

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

Page 18: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

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

Page 19: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

Copyright Fall 2013, Rudra Dutta, NCSU

Creating Models in OPNET (3-b)Creating Models in OPNET (3-b)

Page 20: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

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

Page 21: Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.

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