230 likes | 237 Views
Understand simulation modeling in computer networks, from classifications to development phases. Dive into static vs. dynamic, deterministic vs. stochastic, and continuous vs. discrete simulation models. Explore discrete-event simulation models and the time-advance mechanism. Learn about the verification and validation phases, including the Z Formal Specification Language. Delve into the Poisson and Exponential distributions.
E N D
Performance Evaluation of Computer Networks: Part II Objectives • Simulation Modeling • Classification of Simulation Modeling • Discrete-Event Simulation Modeling • Open Jackson networks
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
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 role • Estimating the probability of winning a soccer game • Estimating the value of π • Dynamic Simulation Model is a representation of a system as it evolves over time • Examples include models of a bank, a processor
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
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
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
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) 0 Simulation clock • There are 2 approaches for advancing the simulation clock: • Next-event time advance • Fixed-increment time advance 0 Dt 2 Dt 3 Dt 4 Dt
Discrete-event Simulation Model: Next-Event Time Advance • The most common used approach : • The simulation clock is initialized to zero • Time of occurrence of future events are determined • The simulation clock is then advanced to the time of the occurrence of the next event (the event that is scheduled to occur first) • The system is updated taking in account that the event has occurred • Update the time of the occurrence of the next events • Go to step 3 • Repeat until a stopping criterion is satisfied.
Development and Validation of Simulation Models • Building a conceptual model • Verification Phase • Validation Phase
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
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
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
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
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:
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
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?
At Saturation Point Two Possible Strategies at Node: • Discard any incoming packet if no buffer space is available. Therefore look at the Queue Size • Exercise flow control over neighbors • May cause congestion to propagate throughout network • Try to control other entity’s queue size
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) Queue/Buffer Server Arrival Departure job/task/customer
Two Types of Network Topology • Open Networks: all customers can leave the network • Closed Networks: No customers can leave the network
(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
An Open Jackson Network j i k m