Introduction to Queuing Theory 1 Queueing Systems Queue































- Slides: 31
Introduction to Queuing Theory 1
Queueing Systems �Queue � a line of waiting customers who require service from one or more service providers. �Queueing system �waiting room + customers + service provider ? Customers Arrivals 2 Queue Server(s) Departures
Queuing Models �Widely used to estimate desired performance measures of the system �Provide rough estimate of a performance measure �Typical measures ü Server utilization ü Length of waiting lines ü Delays of customers �Applications o Determine the minimum number of servers needed at a service center o Detection of performance bottleneck or congestion o Evaluate alternative system designs 3
Introduction �Examples are: – waiting to pay in the supermarket – waiting at the telephone for information – planes circle before they can land �Example questions: – what is the average waiting time of a customer? – how many customers are waiting on average? – how long is the average service time? – what is the chance that one of the servers has nothing to do? 4
2. Service time distribution 1. Arrival Process Queue 5. Customer Population Queueing Notation 5 4. Server Capacity= # of seats for customer waiting for service + # of servers 3. Number of Servers
Parameters of a queuing system �The behavior of a queuing system is dependent on: 1. Arrival process (l and distribution of interarrival times) 2. Service process (m and distribution of service times) 3. Number of servers 4. Capacity of the system 5. Size of the population for this system 6
Kendall notation A/S/m/B/K/SD �A: arrival process �S: service time distribution �m: number of servers �B: number of buffers (system capacity) �K: population size �SD: service discipline 7
Number of Servers �Number of servers available Single Server Queue Multiple Server Queue 8
Service Disciplines �First-come-first-served(FCFS) �Last-come-first-served(LCFS) �Shortest processing time first(SPT) �Shortest remaining processing time first(SRPT) �Shortest expected processing time first(SEPT) �Shortest expected remaining processing time first(SERPT) �Biggest-in-first-served(BIFS) �Loudest-voice-first-served(LVFS) 9
Common Distributions �M : Exponential �Ek : Erlang with parameter k �Hk : Hyperexponential with parameter k(mixture of k exponentials) �D : Deterministic(constant) �G : General(all) f(t) General 1/m Exponential 10 m s t m t
Example M/M/3/20/1500/FCFS �Time between successive arrival is exponentially distributed. �Service times are exponentially distributed. �Three servers. � 20 buffers = 3 service + 17 waiting �After 20, all arriving jobs are lost. �Total of 1500 jobs that can be serviced. �Service disciple is fist-come-first served. 11
Defaults �Infinite buffer capacity �Infinite population size �FCFS service disciple => The first three of the six parameter are sufficient G/G/1=G/G/1/∞/∞/FCFS �Assume only individual arrivals (no bulk arrivals) 12
Arrival process �Arrival times: �Interarrival times: �tj form a sequence of Independent and Identically Distributed (IID) random variables �The most common arrival process: Poisson arrivals Ø Inter-arrival times are exponential + IID Poisson arrivals 13
Service time distribution �Amount of time each customer spends at the server �Again, usually assume IID �Most commonly used distribution is the exponential distribution. �Distribution: M, E, H, or G 14
Key Variables Average Wait in Queue (w ) Service Arrival Rate ( Average Number in Queue (Nq ) Rate ( Departure � t = Inter-arrival time = time between two successive 15 arrivals � = Mean arrival rate = 1/E[t] May be a function of the state of the system, e. g. , number of jobs already in the system � s = Service time per job � = Mean service rate per server = 1/E[s] � Total service rate for m servers is m
Key Variables (cont’d) � nq = Number of jobs waiting � ns = Number of jobs receiving service �n = Number of jobs in the system. This is also called queue length �Note: Queue length includes jobs currently receiving service as well as those waiting in the queue � r = Response time or the time in the system = time waiting + time receiving service � w = Waiting time = Time between arrival and beginning of service 16
Key Variables 1 2 l Note that all of these variables are random variables except for and . nq Previous Arrival Time m Begin End Service Arrival t n w s r 17 ns m
Rules for All Queues 1. Stability Condition �If the number of jobs becomes infinite, the system is unstable. For stability, the mean arrival rate less than the mean service rate. < m �Does not apply to finite buffer system or the finite population systems They are always stable. �Finite population: queue length is always finite. �Finite buffer system: arrivals are lost when the number of jobs in the system exceed the system capacity. 18
Rules for All Queues 2. Number in System versus Number in Queue: n = n q+ n s Notice that n, nq, and ns are random variables. E[n]=E[nq]+E[ns] If the service rate is independent of the number in the queue, Cov(nq, ns) = 0 19
Rules for All Queues 3. Number versus Time: If jobs are not lost due to insufficient buffers, Mean number of jobs in the system = Arrival rate Mean response time 4. Similarly, Mean number of jobs in the queue = Arrival rate Mean waiting time This is known as Little's law. 20
Rules for All Queues 5. Time in System versus Time in Queue r=w+s r, w, and s are random variables E[r] = E[w] + E[s] If the service rate is independent of the number of jobs in the queue, Cov(w, s)=0 21
Little's Law � Mean number in the system = Arrival rate Mean response time � This relationship applies to all systems or parts of systems in which the number of jobs entering the system is equal to those completing service � Based on a black-box view of the system: Arrivals Black Box Departures � In systems in which some jobs are lost due to finite buffers, the law can be applied to the part of the system consisting of the waiting and serving positions 22
Application of Little's Law Arrivals Departures � Applying to just the waiting facility of a service center Mean waiting time � Similarly, for those currently receiving the service, we have: § Mean number in service = Arrival rate Mean service time § Mean number in the queue = Arrival rate 23
Example �A monitor on a disk server showed that the average time to satisfy an I/O request was 100 milliseconds. The I/O rate was about 100 requests per second. What was the mean number of requests at the disk server? Using Little's law: Mean number in the disk server = Arrival rate Response time = 100 (requests/second) (0. 1 seconds) = 10 requests 24
Stochastic Processes �A stochastic process is a sequence X 1, X 2, . . . of random variables indexed by the parameter t, such as time. For example, number of jobs at CPU of computer system at time t is a random variable X(t) �Time and state can be discrete or continuous. �A queuing system is characterized by three elements: § A stochastic input process § A stochastic service mechanism or process § A queuing discipline 25
Types of Stochastic Processes Markov Processes Birth-death Processes Poisson Processes 26
Types of Stochastic Processes �Markov Process �If future states depend only on the present and are independent of the past (memoryless) then called markov process �A discrete state Markov Process is a Markov chain �M/M/m queues can be modeled using Markov process �The time spent by a job in such a queue is a Markov process and the number of jobs in the queue is a Markov chain 27
Types of Stochastic Processes Birth-Death Process �The discrete space Markov processes in which the transitions are restricted to neighboring states �Process in state n can change only to state n+1 or n 1 �Example �The number of jobs in a queue with a single server and individual arrivals(not bulk arrivals) 0 1 2 j-1 0 28 1 1 … 2 2 3 j-1 j j j j+1 j+2
Analysis of A Single Queue
M/M/1 Queue � M/M/1 queue is the most commonly used type of queue � Used to model single processor systems or to model individual devices in a computer system � Assumes that the interarrival times and the service times are exponentially distributed and there is only one server � No buffer or population size limitations and the service discipline is FCFS � Need to know only the mean arrival rate and the mean service rate � State = number of jobs in the system 0 1 30 … 2 J-1 J J+1
Results for M/M/1 Queue �Birth-death processes with �Probability of n jobs in the system: 31