network simulation motivation: r learn fundamentals of evaluating network performance via simulation...

33
Network Simulation Motivation: learn fundamentals of evaluating network performance via simulation Overview: fundamentals of discrete event simulation analyzing simulation outputs ns-2 simulation

Upload: nathan-glenn

Post on 13-Dec-2015

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Network Simulation

Motivation: learn fundamentals

of evaluating network performance via simulation

Overview: fundamentals of

discrete event simulation

analyzing simulation outputs

ns-2 simulation

Page 2: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

The evaluation spectrum

numericalmodels

simulation

emulation

prototype

operational system

Page 3: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

What is simulation?

system under study(has deterministic rules governing its behavior)

exogenous inputsto system

(the environment)

system boundary

observer

“real” life

computer programsimulates deterministic rules governing behavior

psuedo random inputsto system

(models environment)

program boundary

observer

“simulated” life

Page 4: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Why Simulation?

goal: study system performance, operation real-system not available, is complex/costly or

dangerous (eg: space simulations, flight simulations)

quickly evaluate design alternatives (eg: different system configurations)

evaluate complex functions for which closed form formulas or numerical techniques not available

Page 5: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Simulation: advantages/drawbacks

advantages:

drawbacks/dangers:

Page 6: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Programming a simulationWhat ‘s in a simulation program? simulated time: internal (to simulation program)

variable that keeps track of simulated time system “state”: variables maintained by

simulation program define system “state” e.g., may track number (possibly order) of packets in

queue, current value of retransmission timer events: points in time when system changes state

each event has associated event time• e.g., arrival of packet to queue, departure from

queue• precisely at these points in time that simulation must

take action (change state and may cause new future events)

model for time between events (probabilistic) caused by external environment

Page 7: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Discrete Event Simulation

simulation program maintains and updates list of future events: event list

simulator structure: initialize event list

get next (nearest future)event from event list

time = event time

process event(change state values, add/delete

future events from event list

update statistics

done?n

Need: well defined set of

events for each event:

simulated system action, updating of event list

y

Page 8: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Simulation: example

packets arrive (avg. interrarrival time: 1/ ) to router (avg. execution time 1/) with two outgoing links

arriving packet joins link i with probability i

state of system: size of each queue system events:

job arrivals service time completions

define performance measure to be gathered

Page 9: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Simulation: example

Simulator actions on arrival event choose a link

if link idle {place pkt in service, determine service time (random number drawn from service time distribution) add future event onto event list for pkt transfer completion, set number of pkts in queue to 1}

if buffer full {increment # dropped packets, ignore arrival}

else increment number in queue where queued

create event for next arrival (generate interarrival time) stick event on event list

Page 10: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Simulation: example

Simulator actions on departure event remove event, update simulation time,

update performance statistics decrement counter of number of pkts in

queue If (number of jobs in queue > 0) put next pkt

into service – schedule completion event (generate service time for put)

Page 11: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Simulation: example

Simulator initialization event list: state variables:

Page 12: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Gathering Performance Statistics

avg delay at queue i: record Dij : delay of customer j at queue i. Let Ni be # customers passing through queue i

iii TN Average queue length at i:

iNtotal simulated time

throughput at queue i, i =

i

N

jij

i N

D

T

i

1

Little’s Law

Page 13: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Analyzing Output Results

Each time we run a simulation, (using different random number streams), we will get different output results!

distribution of random numbersto be used during simulation(interarrival, service times)

random number sequence 1 simulation output results 1input output

random number sequence 2 simulation output results 2input output

random number sequence M simulation output results Minput output

… … … … … …

Page 14: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Analyzing Output Results

W2,n: delay of nth departing customer from queue 2

Page 15: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Analyzing Output Results

each run shows variation in customer delay

one run different from next

statistical characterization of delay must be made expected delay of n-

th customer behavior as n

approaches infinity average of n

customers

Page 16: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Transient Behavior

simulation outputs that depend on initial condition (i.e., output value changes when initial conditions change) are called transient characteristics “early” part of simulation later part of simulation less dependent on initial

conditions

Page 17: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Effect of initial conditions histogram of delay of 20th

customer, given initially empty (1000 runs)

histogram of delay of 20th customer, given non-empty conditions

Page 18: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Steady state behavior output results may converge to limiting “steady state”

value if simulation run “long enough”

discard statistics gathered during transient phase, e.g., ignore first n0 measurements of delay at queue 2

avg delayof packets

[n, n+10]

0

0

nN

D

Ti

N

njij

i

i

pick n0 so statistic is “approximately the same” for different random number streams and remains same as n increases

avg of 5 simulations

Page 19: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation
Page 20: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation
Page 21: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Confidence Intervals

run simulation: get estimate X1 as estimate of performance metrics of interest

repeat simulation M times (each with new set of random numbers), get X2, … XM – all different!

which of X1, … XM is “right”?

intuitively, average of M samples should be “better” than choosing any one of M samples

M

X

X

M

jj

1

How “confident”are we in X?

Page 22: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Confidence Intervals Can not get perfect estimate of true mean, , with

finite # samples Look for bounds: find c1 and c2 such that:

Probability(c1 < < c2) = 1 – c1,c2confidence interval100(1-): confidence level

One approach for finding c1, c2 (suppose =.1) take k samples (e.g., k independent simulation

runs) sort find largest value is smallest 5% -> c1

find smallest value in largest 5% -> c2

Page 23: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Confidence Intervals: Central Limit Thm

Central Limit Theorem: If samples X1, … XM independent and from same population with population mean and standard deviation then

M

X

X

M

jj

1

is approximately normally distributed with mean u and standard deviation

sample mean:

M

Page 24: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Confidence Intervals .. more

Still don’t know population standard deviation. So we estimate it using sample (observed) standard deviation:

M

mmX XX

M 1

22 )(1

1

Given we can now find upper and lower tails of normal distributions containing 100% of the mass

2, XX

Page 25: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Interpretation of Confidence Interval

If we calculate confidence intervals as in recipe, 95% of the confidence intervals thus computed will contain the true (unknown) population mean.

Page 26: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Confidence Intervals .. the recipe

M

mmX XX

M 1

22 )(1

1

Given samples X1, … XM, (e.g., having repeated simulation M times), compute

M

X

X

M

jj

1

95% confidence interval:M

X X96.1

Page 27: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Generating confidence intervals forsteady state measures independent replications with deletions method of batch means autoregressive method spectrum analysis regenerative method

Page 28: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Independent replications

1. generate n independent replications with m samples, remove first l0 samples from each to obtain

2. calculate sample mean and variance from 3. use t-distribution to compute confidence

intervals4. can combine with sequential stopping rule to

obtain confidence interval of specified width.

),(,),,( 001 lmXlmX n ),( 0lmX i

Page 29: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

0ther methods

batch means: take single run, delete first l0 observations, divide remainder into n groups and obtain Xi for i-th, i = 1,…,n follow procedure for independent replications complication due to nonindependence of Xis

potential efficiency due to deletion of only l0 observation

autoregressive method: spectrum analysis: based on study of correlation of observations

Page 30: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

regenerative method: applicable to systems with regeneration points regeneration point future independent of

past can construct observations for intervals

between regeneration points that will be iid use of CLT provides confidence intervals

Page 31: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

Comparing two different systems

Example: want to compare mean response times of two queues where arrival process remains unchanged but speed of servers are different.

run each system n times to get {X1,j} and {X2,j} and take Zj = (X1,j ,X2,j) as the observations to determine confidence intervals for

note that no assumption is made regarding whether

{X1,j} and {X2,j} are independent of each other using the same streams to generate rvs for j-th runs

of both systems usually results in smaller sample variance of {Zj}

referred to as method of common random number

Page 32: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

ns-2, the network simulator

discrete event simulator modeling network

protocols wired, wireless, satellite TCP, UDP, multicast,

unicast web, telnet, ftp ad hoc, sensor nets infrastructure: stats,

tracing, error models, etc.

prepackaged protocols and modules, or create your own

Our goal: flavor of ns: simple

example, modification, execution and trace analysis

Page 33: Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation

“ns” components

ns, the simulator itself (this is all we’ll have time for)

nam, the Network AniMator visualize ns (or other) output GUI input simple ns scenarios

pre-processing: traffic and topology generators

post-processing: simple trace analysis, often in Awk, Perl, or Tcl

tutorial: http://www.isi.edu/nsnam/ns/tutorial/index.html ns by example: http://nile.wpi.edu/NS/