Al-Imam Mohammad Ibn Saud University CS433 Modeling and Simulation Lecture 08 – Part 01 Queueing Theory http://10.2.230.10:4040/akoubaa/cs433/ 20 Dec 2008 Dr. Anis Koubâa Goals for Today Understand the Queuing Model and its applications Understand how to describe a Queue Model Lean the most important queuing models (Part 02) Single Queue Multiple Queues Multiple Servers Course Outline The Queuing Model and Definitions Application of Queuing Theory Little’s Law Queuing System Notation Stationary Analysis of Elementary Queueing Systems M/M/1 M/M/m M/M/1/K … The Queuing Model Click for Queue Simulator Queuing System Queue Use Queuing models to Server Describe the behavior of queuing systems Evaluate system performance A Queue System is characterized by Queue (Buffer): with a finite or infinite size The state of the system is described by the Queue Size Server: with a given processing speed Events: Arrival (birth) or Departure (death) with given rates Queuing theory definitions 5 (Bose) “the basic phenomenon of queueing arises whenever a shared facility needs to be accessed for service by a large number of jobs or customers.” (Wolff) “The primary tool for studying these problems [of congestions] is known as queueing theory.” (Kleinrock) “We study the phenomena of standing, waiting, and serving, and we call this study Queueing Theory." "Any system in which arrivals place demands upon a finite capacity resource may be termed a queueing system.” (Mathworld) “The study of the waiting times, lengths, and other properties of queues.” http://www2.uwindsor.ca/~hlynka/queue.html 6 Applications of Queuing Theory 6 Applications of Queuing Theory 7 Telecommunications Computer Networks Predicting computer performance Health services (eg. control of hospital bed assignments) Airport traffic, airline ticket sales Layout of manufacturing systems. Example application of queuing theory 8 In many stores and banks, we can find: line/multiple checkout system → a queuing system where customers wait for the next available cashier We can prove using queuing theory that : throughput improves/increases when queues are used instead of separate lines multiple http://www.andrews.edu/~calkins/math/webtexts/prod10.htm#PD Example application of queuing theory 9 http://www.bsbpa.umkc.edu/classes/ashley/Chaptr14/sld006.htm Queuing theory for studying networks 10 View network as collections of queues FIFO data-structures Queuing theory provides probabilistic analysis of these queues Examples: Average length Average waiting time Probability queue is at a certain length Probability a packet will be lost QNAP/Modline Example of a Queue Simulator 11 12 The Little’s Law The long-term average number of customers in a stable system N, is equal to the long-term average arrival rate, λ, multiplied by the longterm average time a customer spends in the system, T. 12 The Queuing Times Queuing System Queue Queuing Time Server Service Time Response Time (or Delay) Little’s Law # Arrivals a (t): the process that counts the number of arrivals up to time t. d (t): the process that counts the number of departures up to time t. N(t)= a(t)- d(t) a(t) d(t) N(t) Area J(t) Time t Average arrival rate (up to t) λt= a(t)/t Average time each customer spends in the system (Response Time) Tt= J(t)/a(t) Average number in the system Nt= J(t)/t Little’s Law a(t) d(t) Area J(t) N(t) Time t Nt t Tt Taking the limit as t goes to infinity E N E T Expected number of customers in the system Expected time in the system Arrival rate IN the system Generality of Little’s Law Mean number tasks in system = mean arrival rate x mean response time E N E T Little’s Law is a pretty general result It does not depend on the arrival process distribution It does not depend on the service process distribution It does not depend on the number of servers and buffers in the system. Applies to any system in equilibrium, as long as nothing in black box is creating or destroying tasks λ Aggregate Arrival rate Queueing Network 17 Specification of Queuing Systems 17 Characteristics of queuing systems 18 Arrival Process The distribution that determines how the tasks arrives in the system. Service Process The distribution that determines the task processing time Number of Servers Total number of servers available to process the tasks Specification of Queueing Systems Arrival/Departure Customer arrival and service stochastic models Structural Parameters Number of servers: What is the number of servers? Storage capacity: are buffer finite or infinite? Operating policies Customer class differentiation are all customers treated the same or do some have priority over others? Scheduling/Queueing policies which customer is served next Admission policies which/when customers are admitted Kendall Notation A/B/m(/K/N/X) 20 To specify a queue, we use the Kendall Notation. The First three parameters are typically used, unless specified 1. 2. 3. 4. 5. 6. A: Arrival Distribution B: Service Distribution m: Number of servers K: Storage Capacity (infinite if not specified) N: Population Size (infinite) X: Service Discipline (FCFS/FIFO) http://en.wikipedia.org/wiki/Kendall's_notation Kendall Notation of Queueing System Arrival Process • M: Markovian • D: Deterministic • Er: Erlang • G: General Number of servers m=1,2,… Storage Capacity K= 1,2,… (if ∞ then it is omitted) A/B/m/K/N/X Service Process • M: Markovian • D: Deterministic • Er: Erlang • G: General Service Discipline FIFO, LIFO, Round Robin, … Number of customers N= 1,2,… (for closed networks, otherwise it is omitted) Distributions 22 M: stands for "Markovian", implying exponential distribution for service times or inter-arrival times. D: Deterministic (e.g. fixed constant) Ek: Erlang with parameter k http://en.wikipedia.org/wiki/Erlang_distribution Hk: Hyper-exponential with parameter k G: General (anything) CS352 Fall,2005 Kendall Notation Examples 23 M/M/1 Queue M/M/m Queue Same, but m servers M/D/1 Queue Poisson arrivals (exponential inter-arrival), and exponential service, 1 server, infinite capacity and population, FCFS (FIFO) the simplest ‘realistic’ queue Poisson arrivals and CONSTANT service times, 1 server, infinite capacity and population, FIFO. G/G/3/20/1500/SPF General arrival and service distributions, 3 servers, 17 queues (20-3), 1500 total jobs, Shortest Packet First 24 Performance Measures 24 Performance Measures of Interest We are interested in steady state behavior Even though it is possible to pursue transient results, it is a significantly more difficult task. E[S]: average system (response) time (average time spent in the system) E[W]: average waiting time (average time spent waiting in queue(s)) E[X]: average queue length E[U]: average utilization (fraction of time that the resources are being used) E[R]: average throughput (rate that customers leave the system) E[L]: average customer loss (rate that customers are lost or probability that a customer is lost) Recall the Birth-Death Chain Example λ0 0 μ1 λ1 1 μ2 λ2 2 At steady state, we obtain 0 0 11 0 In general μ3 μj-1 j-1 μj λj j μj+ 1 0 1 0 1 j 1 j 1 j j j j 1 j 1 0 λj-1 λj-2 j 1 Making the sum equal to 1 ... 0 j 1 0 1 1 ... j 1 1 j 0 ... j 0 1 ... j 1 Solution exists if 0 ... j 1 S 1 j 1 1 ... j 27 End of Part 01 27