PhD Course: Performance & Reliability Analysis of IP-based Communication Networks Henrik Schiøler, Hans-Peter Schwefel, Mark Crovella, Søren Asmussen • Day 1 Basics & Simple Queueing Models(HPS) • Day 2 Traffic Measurements and Traffic Models (MC) • Day 3 Advanced Queueing Models (HPS) • Day 4 Network Models and Application (HS) • Day 5 Simulation Techniques (SA) • Day 6 Reliability Aspects (HPS,HS) Organized by HP Schwefel & H Schiøler PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 1 Hans Peter Schwefel Content 1. Intro & Review of basic stochastic concepts • • Random Variables, Exp. Distributions, Stochastic Processes Markov Processes: Discrete Time, Continuous Time, ChapmanKolmogorov Eqs., steady-state solutions 2. Simple Qeueing Models • • • • • Kendall Notation M/M/1 Queues, Birth-Death processes Multiple servers, load-dependence, service disciplines Transient analysis Priority queues 3. Simple analytic models for bursty traffic • • Bulk-arrival queues Markov modulated Poisson Processes (MMPPs) 4. MMPP/M/1 Queues and Quasi-Birth Death Processes Note: this slide-set contains only the outline of the lecture; many formulas and the mathematical derivations will be presented on the black-board! PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 2 Hans Peter Schwefel Intro: Packet-Based Transport • Advantages of Packet-Based Transport (as opposed to circuit switched) – Flexibility – Optimal Use of Link Capacities, Multiplex-Gain for bursty traffic • Drawbacks – Buffering/Queueing at routers can be necessary – Delay / Jitter / Packet Loss can occur – Overhead from Headers (20 Byte IPv4, 20 Byte TCP) + queueing ... and it makes performance modeling harder!! Main motivation for Performance Modeling: • Network Planning • Evaluation/optimization of protocols/architectures/etc. PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 3 Hans Peter Schwefel Challenges in Packet Switched Setting Challenges in IP networks: • • • • • • HTTP L5-7 Multiplexing of packets at nodes (L3) TCP L4 Burstiness of IP traffic (L3-7) L3 IP Impact of Dynamic Routing (L3) L2 Link-Layer Performance impact of transport layer, in particular TCP (L4) Wide range of applications different traffic & QoS requirements (L5-7) Feedback: performance traffic model, e.g. for TCP traffic, adaptive applications Challenges in Wireless Networks: • Wireless link models (channel models) • MAC & LLC modeling • RRM procedures • Mobility models • Cross layer optimization PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 4 Hans Peter Schwefel Goal of this course • Application of stochastic models often advantageous – Stochastic description of traffic – Stochastic mobility models – Use of randomization in protocols (e.g. MAC) • Goal of the course: Provide an understanding of a selection of (mainly) stochastic modeling techniques in the context of network performance & reliability analysis for IP-based networks PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 5 Hans Peter Schwefel Fundamental concepts I • Probabilities – ’Random experiment’ with set of possible results – Axiomatic definition on event set () • 0Pr(A)1; Pr()=0; Pr(AB)=Pr(A)+Pr(B) if AB= [ A,B() ] – Conditional probabilities: Pr(A|B)=Pr(AB) / Pr(B) • Random Variables (RV) – Definition: X: ; Pr(X=x)=Pr(X-1(x)) – Probability density function f(x), cumulative distribution function F(x)=Pr(Xx), reliability function (complementary distr. Function) R(x)=1-F(x)=Pr(X>x) – Expected value, moments, coefficient of variation, covariance – Relevant Examples, e.g.: • • • • number of packets that arrive at the access router in the next hour (discrete) Buffer occupancy (#packets) in switch x at time y (discrete) Number of downloads (’mouse clicks’) in the next web session (discrete) Time until arrival of the next IP packet at a base station (continuous) PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 6 Hans Peter Schwefel Fundamental concepts II: Exponential Distributions Important Case: Exponentially distributed RV • • • • Single parameter: rate Density function f(x)= exp(- x), x>0 Cdf: F(x)=1-exp(- x), Reliability function: R(x)=exp(- x) Moments: E{X}=1/ ; Var{X}=1/ 2, C2=1 Important properties: • • Memoryless: Pr(X>x+y | X>x) = exp(- y) Properties of two indep. exponential RV: X with rate , Y with rate – Distribution of min(X,Y): exponential with rate (+) – Pr(X<Y)= /(+) PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 7 Hans Peter Schwefel Fundamental concepts III: Stochastic Processes • Definition of process (Xi) (discrete) or (Nt) (continuous) • Simplest type: Xi independent and identically distributed (iid) • Relevant Examples: – Inter-arrival time process: Xi – Counting Process: n-1 N(t) = max{n | i=1 Xi t} , alternatively Ni() = N(i) – N([i-1]) Important Example: Poisson Process • Assume i.i.d. exponential packet inter-arrival times (rate ): Xi:=Ti-Ti-1 • Counting Process: Number of packets Nt until time t – Pr(Nt=n)= (t)n exp(- t) / n! • Properties: – Merging: arrivals from two independent Poisson processes with rate 1 and 2 Poisson process with rate (1+ 2) – Thinning: arrivals from a Poisson process of rate are discarded independently with probability p Poisson process with rate (1-p) – Central Limit Theorem: superposition of n independent processes results in the limit n in a Poisson process (under some conditions on the processes) PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 8 Hans Peter Schwefel Markov Processes I:Discrete Time • State-Space: finite or countable infinite, w/o.l.g. E={0,1,2,...,K} (K= also allowed) • Transition probabilities: pjk=Pr(transition from state j to state k) • Xi = RV indicating the state that the Markov process is in in step i • ’Markov Property’: State in step i only depends on state in step i-1 – Pr(Xi=k)=j [Pr(Xi-1=j)*pjk] • Computation of state probabilities – Probability vector i – Matrix notation for behavior of i – Steady-state solution • Assumption here: irreducibility (no transient states), non-periodicity, and homogenuity PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 9 Hans Peter Schwefel Markov Processes II: Continuous Time • State-Space: finite or countable infinite, w/o.l.g. E={0,1,2,...,K} (K= also allowed) • Transition rates: jk – Holding time in state j: exponential with rate kj jk – Transition probability from state j to k: jk / lj jl • Xt = RV indicating the state that the Markov process is in at time t • ’Markov Property’: transitions does not depend on previous states t0<t1<...<tn , i0,i1,...in ,j E • Computation of state probabilities – Probability vector (t) – Matrix notation for behavior of (t) (Chapman Kolmogorov Equations), Generator Matrix Q – Steady-state solution – Transient solution; eigenvalues of Q and convergence speed to steady state • Assumption again: restrict ourselves to irreducible, homogeneous processes PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 10 Hans Peter Schwefel Content 1. Intro & Review of basic stochastic concepts • • Random Variables, Exp. Distributions, Stochastic Processes Markov Processes: Discrete Time, Continuous Time, ChapmanKolmogorov Eqs., steady-state solutions 2. Simple Qeueing Models • • • • • Kendall Notation M/M/1 Queues, Birth-Death processes Multiple servers, load-dependence, service disciplines Transient analysis Priority queues 3. Simple analytic models for bursty traffic • • Bulk-arrival queues Markov modulated Poisson Processes (MMPPs) 4. MMPP/M/1 Queues and Quasi-Birth Death Processes PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 11 Hans Peter Schwefel Queueing Models: Kendall Notation X/Y/C[/[B][/N]] Queues (example: M/M/1, GI/M/2/10, M/M/10//10, ...) • X: Specifies Arrival Process – – – – • • • M=Markovian Poisson GI=General Independent iid ME=Matrix Exponential MMPP=Markov Modulated Poisson Process Finite buffer (size B) Scope here: Point-process models as opposed to fluidflow queues Y: Specifies Service Process (M,G(I),...) C: Number of Servers B: size of finite waiting room (buffer) [also counting the packet in service] – If not specified: B= • N: number of overall customers in system – unlimited, if not specified • Often also specified: service discipline – – – – FIFO: First-In-First-Out (default) Processor Sharing: PS Last-in-first-out LIFO (preemptive or non-preemptive) Earliest Deadline First (EDF), etc. PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 12 Hans Peter Schwefel M/M/1 queue • • • • Infinite buffer Poisson arrival of packets (first ’M’ Markovian) with rate Exponentially distributed service times of rate (second ’M’) Single Server (1) FIFO service discipline Qt = Number of packets in system is continuous Markov Process Important Parameter: • Utilization, = / : if 1, instable case (no steady-state q.l.d) Performance Parameters • • • • Queue-length distribution: (t) , steady-state limit: =lim (t) (if <1) Queue-length that an arriving customer sees Waiting/System time distribution Buffer-Overflow Probability for level B = Pr(arriving customers sees buffer occupancy B or higher) • First Passage Time Distribution, duration of busy periods PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 13 Hans Peter Schwefel M/M/1 queue: Performance • Birth-Death Process – Probability of i packets in queue [using Chapman-Kolmogorov Equations] i := Pr(Q=i) = (1-)* i , where = / <1 – Probability of idle server: 0 = (1-) – Average Queue-length – Average Delay – Buffer Overflow Probabilities (PASTA principle) – Transient Queue-length Probabilities – Mean First Passage Times PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 14 Hans Peter Schwefel General Birth-Death Processes 0 1 1 2 2 3 • Steady-State Probabilities Derived Models: • • • • M/M/1/B, M/M/1//N M/M/c Load-dependent services, discouraged arrivals FIFO vs LIFO vs PS service discipline PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 15 Hans Peter Schwefel The circuit switched scenario • • • • K channels Users allocate one channel per call for certain call duration If all channels are allocated additional starting calls are blocked How many channels are necessary to achieve a call certain maximal blocking probability? Common Model Assumptions: • Calls are arriving according to a Poission Process (justified for large user population, limit theorems for stochastic processes) with rate • Call durations are exponentially distributed with mean T (okay for voice calls) PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 16 Hans Peter Schwefel Computation of blocking probabilities: M/M/K/K model, Erlang-B formula K 1/T 2/T 3/T K/T • Finite Birth-Death Process: – Probability of i calls active i := Pr(n=i) = 0 (T)i /i! , i=1,…,K where 0 = 1/[(T)i /i!] (sum taken over i=0 to K) – Probability of blocked call: p(B) = pK = p0 (T)K /K! [also known as Erlang-B formula] PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 17 Hans Peter Schwefel Exercise 1: Use MATLAB to... (unless specified otherwise, use mu=1 for convenience) 1. (optional) Plot the Queue-length distribution for the M/M/1/K queue with rho in {0.5, 0.9, 1.0, 1.1, 2.0}. Plot a curve of the dropping probability for rho in [0;5], discuss its behavior for rho>1. 2. Implement the Q matrix for an M/M/1/K queue with rho=0.6, K=5, and plot transient probabilities for pi_0(t), given that the queue is empty at t=0. 3. One router in a network (to be modelled as M/M/1 queue) is apparently creating large delays. The admin decides to add a second routing processor to it. In principle, the admin now has the choice to upgrade to an M/M/2 system, but he could also configure separate queues for the new routing module (packets will be randomly directed to one of the two queues); alternatively, he could replace the routing processor with another one that is twice as fast. Which solution is performance-wise better? Plot the ratio of the mean system times for varying arrival rate lambda. 4. DiffServ-like scenario: Assume a single server (rate mu) at which two types of packets, High priority and low-priority, arrive (according to a Poisson process with rate lambda_l and lambda_h). Two queues are used to store the packets, but low-priority packets are only serviced when there are no high-priority packets. Also, an arrival of a high-priority packet preempts a currently ongoing service of a low-priority packet. – – – Draw the Markov chain for such priority model for buffer-sizes 2 packets for HP, 3 packets for LP. Implement a MTALB function which allows to set-up the Q matrix of the Markov chain for arbitrary lambda_I and mu, and for arbitrary buffer-size for the low-priority packets (the high priority buffer is fixed to size 2). Compute the steady-state probability vector plus the loss probabilities for varying lambda_h. PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 18 Hans Peter Schwefel Content 1. Intro & Review of basic stochastic concepts • • Random Variables, Exp. Distributions, Stochastic Processes Markov Processes: Discrete Time, Continuous Time, ChapmanKolmogorov Eqs., steady-state solutions 2. Simple Qeueing Models • • • • • Kendall Notation M/M/1 Queues, Birth-Death processes Multiple servers, load-dependence, service disciplines Transient analysis Priority queues 3. Simple analytic models for bursty traffic • • Bulk-arrival queues Markov modulated Poisson Processes (MMPPs) 4. MMPP/M/1 Queues and Quasi-Birth Death Processes PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 19 Hans Peter Schwefel Models for bursty traffic • Poisson assumption for packet arrivals may be applicable for highly aggregated traffic (core networks), but otherwise traffic tends to be bursty – High data rates in ftp download but less activity between downloads – http: activities after mouse-clicks – Video streaming: high data rates in frame transmissions – Interactive Voice: talk and silent periods • Model Modifications: – Bulk Arrival processes – MMPPs PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 20 Hans Peter Schwefel Bulk Arrival Models • Queue-length at arrival instances increases not only by 1, but by a Random Variable B, the bulk-size • Parameter set of model – Bulk arrival process, e.g. exponential with rate – Bulk-Size distribution: pi (e.g. geometric) – Service rate (single packet) • Steady-state solution for mean system time [Chaudhry & Templeton 83]: E{S} = [ E{B}+E{B2} ] / [2 E{B} (1-) ] • E.g. M(B)/M/1 queue with geometrically distributed B – Graph and Q Matrix for bulk-arrival model PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 21 Hans Peter Schwefel Markov Modulated Poisson Processes PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 22 Hans Peter Schwefel MMPP: Definition • MMPP defined by – Generator Matrix Q of modulating process – Matrix of Poisson Rates L • Average Packet Rate • Example: Single-Source ON/OFF model PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 23 Hans Peter Schwefel Defining Burstiness for ON/OFF sources • One possibility: Burstiness = Peak Rate of Source p / Average Rate of Source • Slightly modified to give it range 0 (not bursty) to 1 (very bursty): b:=1-/p • Investigating burstiness: – Vary p – Keep #packets per ON period scale ON duration accordingly – Extreme Cases: • b=0 (p= ): Poisson arrivals, no burstiness • b=1 (p= ): Bulk arrivals PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 24 Hans Peter Schwefel Multiplexed ON/OFF Models Parameters: • N sources, each average rate • During ON periods: peak-rate p • Mean duration of ON and OFF times ON & OFF Times exponential MMPP representation with N+1 states (Exercises!) PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 25 Hans Peter Schwefel Content 1. Intro & Review of basic stochastic concepts • • Random Variables, Exp. Distributions, Stochastic Processes, Poisson Process & CLT Markov Processes: Discrete Time, Continuous Time, ChapmanKolmogorov Eqs., steady-state solutions 2. Simple Qeueing Models • • • • • Kendall Notation M/M/1 Queues, Birth-Death processes Multiple servers, load-dependence, service disciplines Transient analysis Priority queues 3. Simple analytic models for bursty traffic • • Bulk-arrival queues Markov modulated Poisson Processes (MMPPs) 4. MMPP/M/1 Queues and Quasi-Birth Death Processes PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 26 Hans Peter Schwefel MMPP/M/1 Queues • Generator matrix Block-tri-diagonal: Quasi-Birth-Death Process • Matrix Form of Balance Equations Matrix Geometric Solution • Quadratic matrix equation and solution methods – Simple iteration – Spectral decomposition • Performance Parameters PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 27 Hans Peter Schwefel MMPP/M/1/B Queues • • • • • Finite buffer-space, loss model Generator matrix Mixed matrix geometric solution Approaches to obtain matrix factor S Performance Parameters (indicate problems with matrix geometric sums) PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 28 Hans Peter Schwefel Exercises II: • • A network operator asks you to assist him in dimensioning his access router. The operator expects that during the daily busy hours, the router is used by N=10 users, each of them independently generates traffic according to an ON/OFF process with exponential ON and OFF periods. On periods have mean ON=10s with a Poisson packet rate of p=6pck/sec for a single user. OFF periods show mean Z=20 seconds. The aggregated traffic stream of N=10 users can be described by an MMPP with K=11 states. a. Determine the Q and the L matrix of the MMPP (in MATLAB). • b. Compute the stationary probability vector pi of the MMPP. What is the average packet rate generated by the MMPP? • c. • • • • Determine the queue-length distribution of an MMPP/M/1 queue with service rate nu=30pck/sec via the following steps. i. Compute the coefficient matrices A0,A1,A2 for the quadratic matrix equation for the rate matrix R. ii. Solve the quadratic matrix equation via the simple iterative method from the lecture. Measure the time that Matlab needs to do so. iii. (Optional) Use spectral decomposition to solve for R and compare the run-time for that algorithm. Compare the obtained R matrix with the previous one. iv. Use R to compute and plot the queue-length probabilities and the average queue-length. PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 29 Hans Peter Schwefel Summary 1. Intro & Review of basic stochastic concepts • • Random Variables, Exp. Distributions, Stochastic Processes, Poisson Process & CLT Markov Processes: Discrete Time, Continuous Time, ChapmanKolmogorov Eqs., steady-state solutions 2. Simple Qeueing Models • • • • • Kendall Notation M/M/1 Queues, Birth-Death processes Multiple servers, load-dependence, service disciplines Transient analysis Priority queues 3. Simple analytic models for bursty traffic • • Bulk-arrival queues Markov modulated Poisson Processes (MMPPs) 4. MMPP/M/1 Queues and Quasi-Birth Death Processes PHD Course: Performance & Reliability Analysis, Day 1, Spring04 Page 30 Hans Peter Schwefel