1 performance evaluation of computer networks: part ii objectives r simulation modeling r...
TRANSCRIPT
1
Performance Evaluation of Computer Networks: Part II
Objectives Simulation Modeling Classification of Simulation Modeling Discrete-Event Simulation Modeling Open Jackson networks
2
Simulation Modeling
A simulation model is a computer program that Replicates the operations of a business process Estimates rates at which outputs are produced and
resources are consumed
Simulation models test the consistency of the facts, logic, and assumptions
Simulation models test the sensitivity of a process to changes in selected assumptions
Simulation models help decision makers to assess the potential benefits, costs, and risks of alternative processes and strategies
3
Classification of Simulation Models
Static vs. Dynamic Simulation Model Static Simulation Model is a representation of
a system at a particular point in time (i.e., time plays no roleo Estimating the probability of winning a soccer game o Estimating the value of π
Dynamic Simulation Model is a representation of a system as it evolves over timeo Examples include models of a bank, a processor
4
Classification of Simulation Models
Deterministic vs. Stochastic Simulation Models Deterministic Simulation Model does not contain
any probabilistic components • Example: a system of differential equations representing
a chemical reaction• Output are also deterministic
Stochastic Simulation models are those having at least some random input components Examples include Queuing models (Interarrival times
between two consecutive customers and service times are usually random)
They produce output that are also random
5
Classification of Simulation Models
Continuous vs. Discrete Simulation Models Discrete Simulation models those representing
systems whose state changes at discrete points of time
Continuous Simulation models are those that changes of the system occur continuously as the time evolves
6
Discrete-event Simulation Model
Simulation models we consider here are discrete, dynamic, and stochastic. Such models are called Discrete-Event Simulation Models
Changes occur at a separate points of time What does it change the system state? Events
Event: is an instantaneous occurrence that changes the state of the system
Examples: Arrival of a new customer, a Departure of a customer from a queuing model
7
Discrete-event Simulation Model: Time-Advance Mechanism
Simulation Clock: is a variable in the simulation model that keeps track of the current simulation time (does not depend on the computer time)
Simulation clock0
There are 2 approaches for advancing the simulation clock:
1. Next-event time advance
2. Fixed-increment time advance
0 t 2 t 3 t 4 t
8
Discrete-event Simulation Model: Next-Event Time Advance The most common used approach :
1. The simulation clock is initialized to zero2. Time of occurrence of future events are determined3. The simulation clock is then advanced to the time of
the occurrence of the next event (the event that is scheduled to occur first)
4. The system is updated taking in account that the event has occurred
5. Update the time of the occurrence of the next events
6. Go to step 37. Repeat until a stopping criterion is satisfied.
9
Development and Validation of Simulation Models
Building a conceptual model
Verification Phase
Validation Phase
10
Simulation: Verification Phase
The result of the verification phase answers the following question: Does the simulation code implement the conceptual
model correctly?
Sometimes this check can be done formally A requirement for this is that the system specification (in our
case: the conceptual model of the system) is written in a formal language
• The Z Formal Specification Language
In many cases only certain aspects of a software system can be verified formally, other aspects have to be tested or checked by other means code inspection, careful inspection of the generated
results / event sequences, etc
11
Simulation: Validation Phase
The result of the validation phase answers the following question: Is the conceptual model correct or at least adequate?
The reason to ask for adequacy is as follows: In many real-world applications the
requirements are vague, unspecific, random and changing over time. For example, call arrivals to a central office: do they
form a Poisson process? Clearly, the correct answer is: no,
However, it is often observed that the Poisson process is a reasonable or adequate
Therefore, it is not too dangerous to use Poisson arrivals as a model
12
Background: The Poisson Distribution
For our purposes, customers arrive at a location in a truly random fashion. That is, there is no way to predict exactly when someone will arrive
The Poisson distribution describes the number of such arrivals during a given period
13
The Exponential Distribution
If the number of arrivals at a location occurs according to the Poisson distribution then, automatically, the distribution of the intervals between successive arrivals must follow the exponential distribution
14
Probability of t A
If t is an exponentially distributed random variable then the probability that t takes on a value less than a constant, A, is given by the expression:
A
At
At
e
e
dteAtP
1
|
][
0
0
15
Example
The average interarrival time for customers at a system is 2 minutes and we want to determine the probability that the time of the next arrival occurs:
Within one minute Within 2 minutes Between 1 and 2 minutes hence
16
Example, continued
239.
393.0632.0
]1[]2[]21[
632.0
1min]2[
393.0
1min]1[
minuteperarrivals2
12
1
)2(2
1
)1(2
1
tPtPtP
etP
etP
17
Application to Queuing Theory
Packet–switched networks get congested! Congestion occurs when the number of
packets transmitted approaches network capacity
Objective of congestion control: keep the number of packets entering the network
below the level at which performance drops off dramatically
Can we use our queuing theory knowledge to tackle the congestion control problem?
18
At Saturation Point
Two Possible Strategies at Node:1. Discard any incoming packet if no buffer
space is available. Therefore look at the Queue Size
2. Exercise flow control over neighbors May cause congestion to propagate throughout
network Try to control other entity’s queue size
19
Components of A Simple System
Arrivals: Poisson, renewal, general ergodic processes. Service: exponential service times, general distributions. Capacity: finite buffer (size=N) or infinite buffer. Control: scheduling policy (e.g. FCFS, LCFS, etc)
DepartureArrival
Queue/Buffer Server
job/task/customer
20
Two Types of Network Topology
Open Networks: all customers can leave the network
Closed Networks: No customers can leave the network
21
(Open) Jackson Networks
There are J queues Customers arrive at queue l according to independent Poisson
processes with rate The service times in queue l are exponential with rates Upon leaving queue l, each customer is sent to queue m with
probability and leaves the network with probability
The routing decision is independent of the past evolution of the network
ll
lmr
J
mlmr
1
1
22
An Open Jackson Network
ii
j
k
k
j
ikr kjr
ijr
m
imr