Queuing Networks. Renato Lo Cigno. Simulation and Performance Evaluation Queuing Networks - Renato Lo Cigno 1

Similar documents
Queuing Systems. 1 Lecturer: Hawraa Sh. Modeling & Simulation- Lecture -4-21/10/2012

Queueing Networks 32-1

Queueing Networks. Lund University /

* Department of Computer Science, University of Pisa, Pisa, Italy Department of Elect. Engineering, University of Roma Tor Vergata, Rome, Italy

Stochastic Processing Networks: What, Why and How? Ruth J. Williams University of California, San Diego

Lecture 5: Performance Analysis I

Cover sheet for Assignment 3

Using Queuing theory the performance measures of cloud with infinite servers

Introduction to Queuing Systems

Queuing Networks Modeling Virtual Laboratory

Performance Evaluation. Recommended reading: Heidelberg and Lavenberg Computer Performance Evaluation IEEETC, C33, 12, Dec. 1984, p.

Motivation: Wireless Packet-Based Transport

Analytic Performance Models for Bounded Queueing Systems

Outline. Application examples

Modelling traffic congestion using queuing networks

Introduction to Modeling. Lecture Overview

Model suitable for virtual circuit networks

Calculating Call Blocking, Preemption Probabilities, and Bandwidth Utilization for Satellite Communication Systems.

Lecture 14: M/G/1 Queueing System with Priority

Simulation. Outline. Common Mistakes in Simulation (3 of 4) Common Mistakes in Simulation (2 of 4) Performance Modeling Lecture #8

Process- Concept &Process Scheduling OPERATING SYSTEMS

Calculating Call Blocking and Utilization for Communication Satellites that Use Dynamic Resource Allocation

ETSN01 Exam Solutions

Markov Chains and Multiaccess Protocols: An. Introduction

Implementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9

Lecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter

Why is scheduling so difficult?

ECE SPRING NOTE; This project has two parts which have different due dates.

The A* traffic process in a queue with feedback

Mathematical Analysis of Google PageRank

Advanced Internet Technologies

CPSC 531: System Modeling and Simulation. Carey Williamson Department of Computer Science University of Calgary Fall 2017

Performance Modeling of a Cluster of Workstations

Application of QNA to analyze the Queueing Network Mobility Model of MANET

Lecture 8: Using Mathematica to Simulate Markov Processes. Pasi Lassila Department of Communications and Networking

QUEUING SYSTEM. Yetunde Folajimi, PhD

A Study of the Performance Tradeoffs of a Tape Archive

Measure, Report, and Summarize Make intelligent choices See through the marketing hype Key to understanding effects of underlying architecture

Scheduling Monday, November 22, :22 AM

DDSS: Dynamic Dedicated Servers Scheduling for Multi Priority Level Classes in Cloud Computing

Practical Discrete Event Simulation and The Python Simulator

Methods of Technical Risk Assessment in a Regional Context

Announcements. Reading. Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) CMSC 412 S14 (lect 5)

Dimensioning the Contention Channel of DOCSIS Cable Modem Networks

Announcements. Program #1. Program #0. Reading. Is due at 9:00 AM on Thursday. Re-grade requests are due by Monday at 11:59:59 PM.

Multi-threaded, discrete event simulation of distributed computing systems

EAI Endorsed Transactions on Industrial Networks And Intelligent Systems

Network Performance Analysis

Preview. Process Scheduler. Process Scheduling Algorithms for Batch System. Process Scheduling Algorithms for Interactive System

Comp 310 Computer Systems and Organization

INTEGRATION of data communications services into wireless

On the application of forking nodes to product-form queueing networks

CNCL: Contents. Extra material (1)

Queueing Networks and Markov Chains

MODELING OF SMART GRID TRAFFICS USING NON- PREEMPTIVE PRIORITY QUEUES

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5

Simulation Studies of a Multi-priority Dual Queue (MPDQ) with Preemptive and Non-preemptive Scheduling

Scheduling of processes

Introduction to Performance Engineering and Modeling

Approximate Linear Programming for Average-Cost Dynamic Programming

UNIT 4: QUEUEING MODELS

Teletraffic theory I: Queuing theory

Method for Automatic Construction of Queuing System Models

Staffing and Scheduling in Multiskill and Blend Call Centers

Introduction to the course

Flexible Servers in Understaffed Tandem Lines

Operating System Concepts Ch. 5: Scheduling

Operating Systems Unit 3

Chapter 1. Introduction

Properties and analysis of queueing network models with finite capacities

Chapter 9. Uniprocessor Scheduling

Chapter 9 Uniprocessor Scheduling

Fundamentals of Queueing Models

CSCI 204 Introduction to Computer Science II Lab 7 Queue ADT

Monotonicity of the throughput in single server production and assembly networks with respect to the buffer sizes Adan, I.J.B.F.; van der Wal, J.

Generalized loss models and queueing-loss networks

ON NEW STRATEGY FOR PRIORITISING THE SELECTED FLOW IN QUEUING SYSTEM

Software Tools for Network Modelling

The effect of server s breakdown on the performance of finite-source retrial queueing systems

Traffic Analysis and Modeling of Real World Video Encoders

A Path Decomposition Approach for Computing Blocking Probabilities in Wavelength-Routing Networks

CPU Scheduling (1) CPU Scheduling (Topic 3) CPU Scheduling (2) CPU Scheduling (3) Resources fall into two classes:

Chapter 6 Queuing Disciplines. Networking CS 3470, Section 1

Stochastic Petri nets

Last Class: Processes

Table 9.1 Types of Scheduling

C. H. Sauer K. M. Chandy

Analysis of Replication Control Protocols

GiRaF: a toolbox for Gibbs Random Fields analysis

NFV Resource Allocation using Mixed Queuing Network Model

Scheduling. The Basics

General Objectives: To understand the process management in operating system. Specific Objectives: At the end of the unit you should be able to:

An Efficient Queuing Model for Resource Sharing in Cloud Computing

Process Scheduling Part 2

Computational Queuing Analysis: An Application to Traffic Flow Analysis of the NAS

CS 556 Advanced Computer Networks Spring Solutions to Midterm Test March 10, YOUR NAME: Abraham MATTA

Figure 1: An example of a hypercube 1: Given that the source and destination addresses are n-bit vectors, consider the following simple choice of rout

Delay and Capacity Analysis of Structured P2P Overlay for Lookup Service

Chapter 5 CPU scheduling

TELCOM 2130 Queueing Theory. David Tipper Associate Professor Graduate Telecommunications and Networking Program. University of Pittsburgh

Transcription:

Queuing Networks Renato Lo Cigno Simulation and Performance Evaluation 2014-15 Queuing Networks - Renato Lo Cigno 1

Moving between Queues Queuing Networks - Renato Lo Cigno - Interconnecting Queues 2

Moving between Queues Customers serviced from a queue can enter another queue before they exit the system A system of interconnected queues is called a queuing network Underlying a queuing network we always find a Markov Chain (DT, or CT, or Semi-Markov), whose state is represented by the vector of the number of customers in each queue S = {n 1, n 2,, n k } where n i is the number of customers in the i-th queue of the network Queuing Networks - Renato Lo Cigno - Interconnecting Queues 3

Global Balance The queuing network has k queues, but only one customer at a time can arrive, leave or change queue All transitions are in one of the following forms: {, n k, } {, n k + 1, } if queue k is an entry queue {, n k, } {, n k 1, } if queue k is an exit queue {, n i,, n j, } {, n i 1,, n j + 1, } if there is the possibility that a customer moves from queue i to queue j In practice we have a k dimensional Birth-Death process If all the transition rates (probabilities) can be found then, properly ordering the states, the solution can be found Queuing Networks - Renato Lo Cigno - Interconnecting Queues 4

Example: the tandem queue We have two dimensions, the state is simply S = {n 1, n 2 } The transitions between states are governed by λ, µ 1, µ 2 Q: Is the 2-dimensional B-D process still a Markov Chain? Queuing Networks - Renato Lo Cigno - Interconnecting Queues 5

Example: the tandem queue Queuing Networks - Renato Lo Cigno - Interconnecting Queues 6

Example: the tandem queue We can easily show that this process is still Markovian, because all processes are exponential Finding the global balance equation (the infinitesimal generator deriving from the Chapman-Kolmogorov differential equations) is not difficult, but...... this is the simplest queuing network we can imagine! Can we find a more general and simpler way to solve this system? We know that the steady-state solution of an MC is unique, thus to find the solution of an MC, we only have to find one solution Queuing Networks - Renato Lo Cigno - Interconnecting Queues 7

Product Form Solution... yes, but guessing a solution at random... Indeed, we can observe that the first queue is entirely independent from the second, thus its behavior should be like a normal M/M/1 But at steady state, jobs arrive randomly, and they are served by the first queue with exponential time services, thus the second queue sees as arrival process, the service process of the first one We can guess (not really at random) that this second queue behaves like another M/M/1 with some ρ 2 Queuing Networks - Renato Lo Cigno - Interconnecting Queues 8

Product Form Solution The two queues are clearly not independent (the input to the second one is the output of the first one!!) But what if they behave as if they were independent? Then the solution would be the product of the two solutions π i,j = (1 ρ 1 )ρ i 1 (1 ρ 2 )ρ j 2 Plugging this simple solution in the global balance equations solves them... Bingo! Indeed, we still don t know what is ρ 2 Queuing Networks - Renato Lo Cigno - Interconnecting Queues 9

Jackson Queues In 1957 Jackson demonstrated that any network of Markovian queues without losses and FCFS serving discipline admits a product form solution Feedback among queues is admitted The system must be stable, but this can be checked verifying that every queue is stable This only requires to solve a simple k-dimensional linear system that balances the arrivals at all queues Queuing Networks - Renato Lo Cigno - Jackson Networks 10

Local Balance Equations What are the arrival rates to all the k queues in the network? If the external arrivals λ ei, i = 1, 2,..., k are known, and the routing probabilities P ij, i, j = 1, 2,..., k between all queues are known then all the λ i, i = 1, 2,..., k are known solving a simple linear system of k equations The local balance is independent from the service rate of the queues and is given by λ i = λ ei + k P ji λ j ; for i = 1, 2,..., k j=0 Queuing Networks - Renato Lo Cigno - Jackson Networks 11

Example of Local Balance Queuing Networks - Renato Lo Cigno - Jackson Networks 12

Local Balance Equations For the tandem network, we have λ 1 = λ 2 = λ ρ 1 = λ µ 1, ρ 2 = λ µ 2, In general ρ i = λ i µ i and the global solution is π n1,n 2,...,n k = π n1 π n2 π nk n 1,n 2,...,n k π n1,n 2,...,n k = 1 Be careful with multi-server queues, the π j are not necessarily always those of an M/M/1 Queuing Networks - Renato Lo Cigno - Jackson Networks 13

Example of a Computer Model At the blackboard Queuing Networks - Renato Lo Cigno - Jackson Networks 14

Steps to solve a Jackson Network 1 For all queues in the network compute the arrival rates λ i solving the local balance equations 2 For every queue j, consider it as an M/M/m station, check its stability, and compute the steady state probabilities π nj 3 Using the product form compute the global steady state probabilities π n1,n 2,...,n k Note that as the M/M/m solutions are known in closed form, the solution of networks of arbitrary topology and dimension requires only to solve a linear system (the local balance), empowering also what-if analysis changing the parameters or the queues Queuing Networks - Renato Lo Cigno - Jackson Networks 15

Closed Queuing Networks Networks of queues with a constant number of customers H that continuously cycle around the network Model pretty well any system where a new customer enters the system as soon as an old one leaves Notice how this can be used to model arrivals correlated to services, which are otherwise intractable E.g., production systems, systems in saturation,... Queuing Networks - Renato Lo Cigno - Closed Networks 16

Closed Queue Network The network has a total of H = 5 customers and queue 3 is empty (in the snapshot) Queuing Networks - Renato Lo Cigno - Closed Networks 17

Gordon-Newell Networks Closed networks with Markovian (exponential) services and FIFO service discipline They admit a product form solution subject to a constant number H of customers in the system We have the problem of defining the arrival rates... Queuing Networks - Renato Lo Cigno - Closed Networks 18

Gordon-Newell Networks As there are no arrivals from the external the system of linear equations λ i = λ ei + k P ji λ j ; for i = 1, 2,..., k j=0 reduces to a homogeneous system λ i = k P ji λ j ; for i = 1, 2,..., k j=0 which has infinite solutions... Queuing Networks - Renato Lo Cigno - Closed Networks 19

Gordon-Newell Networks We can compute normalized arrivals setting λ 1 = 1 (any other choice is fine) and find a normalized solution It is customary to call these relative arrival rates e i They are also called visit ratios e 1 = 1; e i = k P ji e j ; for i = 2,..., k j=0 And we define for each queue the relative utilization x i = e i µ i instead of the load ρ i Queuing Networks - Renato Lo Cigno - Closed Networks 20

Gordon-Newell Networks Recall that we have H = k i=1 n k The total number of states is finite, even if the queues have infinite positions ( ) k + H 1 N S = k 1 Queuing Networks - Renato Lo Cigno - Closed Networks 21

Gordon-Newell Networks The product form can be written as π n1,n 2,...,n k = 1 G(H) π n 1 π n2 π nk ; k n j = H j=1 Where G(H) is a normalization constant that takes into account the finite number of total customers, i.e., the total number of possible states Unfortunately it is computationally heavy ad H grows Queuing Networks - Renato Lo Cigno - Closed Networks 22

Gordon-Newell Networks G(K) = F i (n i ) = β i (n i ) = N S j k F i (n i ) i=1 x n i i β i (n i ) ; x i = e i µ i n i!; n i m i m i! m n i m i i ; n i m i 1; m i = 1 where m i is the number of servers in the i-th queue, i.e., queue i is an M/M/m and not a simple M/M/1. Indeed in G-N networks (an in BCMP ones) arrivals are not Poisson, so it is more appropriate to indicate the queues as /M/m to show that arrivals are undefined Queuing Networks - Renato Lo Cigno - Closed Networks 23

Steps to solve G-N Networks 1 For all queues in the network compute the relative arrival rates or visit ratios e i solving the local balance equations 2 For every queue i, consider it as an M/M/m station, and compute the functions F i (n i ) Stability check is not needed as there is a finite number of customers 3 Compute the normalization factor G(K) 4 Using the product form compute the global steady state probabilities π n1,n 2,...,n k Queuing Networks - Renato Lo Cigno - Closed Networks 24

BCMP Networks In 1975 Baskett, Chandy, Muntz and Palacios extended the queuing networks that admit product form solution to include a large number of queuing systems Four different types or queues are comprised Customers can belong to different classes They can even switch between classes This extension is non-trivial, and it always required complex matrix manipulations I classes are present, then the solution of the queue is referred to a vector of customers present Networks can be open (like Jackson), closed (like G-N) or mixed (e.g., one class of customers come and go and another one remains always in the network) Queuing Networks - Renato Lo Cigno - BCMP Networks 25

BCMP Networks Type-1: Type-2: /M/m/FCFS Is the same type of queues found in Jackson and G-N networks Can be used to mode I/O devices, disks,... /G/1/PS CPUs or cores, ALUs,... In general (sub)systems where the service is round-robin with a fast round pace Queuing Networks - Renato Lo Cigno - BCMP Networks 26

BCMP Networks Type-3: /G/ Terminals can be modeled with Type-3 Pools of customers moving from one service to another Type-4: /G/1/LCFS PR PR: Preemptive Resume Interrupt-based systems Stacks and accumulators Queuing Networks - Renato Lo Cigno - BCMP Networks 27

Steps to solve BCMP Networks 1 For all queues in the network compute the relative arrival rates or visit ratios e i solving the local balance equations 2 Check the stability of every queue 3 For every queue i, compute the generic non-normalized solutions F i (n i ) We know the solution of /M/m, but we can find in books the others 4 If needed compute a normalization constant G(K) Queuing Networks - Renato Lo Cigno - BCMP Networks 28

Steps to solve BCMP Networks 5 Using the product form compute the global steady state probabilities π n1,n 2,...,n k = 1 G(K) k F i (n i ) 6 If there are r customer classes, then all n i are r-dimensional vectors i=1 Queuing Networks - Renato Lo Cigno - BCMP Networks 29

Non Product Form Networks Even if BCMP theorem is extremely powerful, the majority of queuing networks cannot be solved in product form Finite queues with losses General arrival times from the external Correlated arrival/services that cannot be modeled as a closed network... In any case a queuing network solution can be found with a Monte-Carlo integration of the Chapman Kolmogorov equations, which are very often extremely easy to write given the state Once the state is defined, deciding what (stochastically) happens next if defined This is specially true for man-made systems This is nothing else than an Event-Driven simulation... Queuing Networks - Renato Lo Cigno - Queuing Networks: Final Considerations 30

QNets, DTMC and Simulations As mentioned several times a Discrete Event Simulation (just simulation from now on) is a random walk on the space of a DTMC As this random walk is governed (or described if you prefer) by differential equations (finite differences to be more precise) this is equivalent to a Monte-Carlo integration of the model As queuing networks can always be mapped to a DTMC we can model a system with queues and then simulate it If we can describe our simulator as a DTMC, possibly using queues, Petri nets, or other high-level description language, then it is easier to evaluate results and control outliers Queuing Networks - Renato Lo Cigno - Queuing Networks: Final Considerations 31