# Introduction to Queuing Theory

## Presentation on theme: "Introduction to Queuing Theory"— Presentation transcript:

Introduction to Queuing Theory

Queueing Systems Queue Queueing system
a line of waiting customers who require service from one or more service providers. Queueing system waiting room + customers + service provider ? Arrivals Customers 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 Determine the minimum number of servers needed at a service center Detection of performance bottleneck or congestion Evaluate alternative system designs

Introduction Examples are: Example questions:
– 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?

2. Service time distribution
1. Arrival Process Queue 5. Customer Population 4. Server Capacity= # of seats for customer waiting for service + # of servers 3. Number of Servers Queueing Notation

Parameters of a queuing system
The behavior of a queuing system is dependent on: Arrival process (l and distribution of interarrival times) Service process (m and distribution of service times) Number of servers Capacity of the system Size of the population for this system

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

Number of Servers Number of servers available Single Server Queue
Multiple Server Queue

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)

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) t m s f(t) 1/m t m General Exponential

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.

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)

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

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

Key Variables Service Arrival Rate ( Average Number in Queue (Nq ) Average Wait in Queue (w ) Rate ( Departure t = Inter-arrival time = time between two successive arrivals l = 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 m = Mean service rate per server = 1/E[s] Total service rate for m servers is mm

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

Key Variables 1 2 m Previous Arrival Arrival Begin Service End Service
t w s r n nq ns l Time Note that all of these variables are random variables except for  and  .

Rules for All Queues 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.

Rules for All Queues Number in System versus Number in Queue: n = nq+ ns 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

Rules for All Queues Number versus Time: If jobs are not lost due to insufficient buffers, Mean number of jobs in the system = Arrival rate  Mean response time Similarly, Mean number of jobs in the queue = Arrival rate  Mean waiting time This is known as Little's law.

Rules for All Queues E[r] = E[w] + E[s]
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

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: 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 Black Box Arrivals Departures

Application of Little's Law
Arrivals Departures Applying to just the waiting facility of a service center Mean number in the queue = Arrival rate  Mean waiting time Similarly, for those currently receiving the service, we have: Mean number in service = Arrival rate  Mean service time

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

Stochastic Processes A stochastic process is a sequence X1,X2, 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

Types of Stochastic Processes
Poisson Processes Birth-death Markov

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

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) 1 2 j-1 j j+1 l0 l1 l2 lj-1 lj lj+1 m1 m2 m3 mj 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 l and the mean service rate m State = number of jobs in the system 1 2 J-1 J J+1 l m

Results for M/M/1 Queue Birth-death processes with
Probability of n jobs in the system:

M/M/1 Queue Parameters: Traffic intensity: Stability Condition:
Traffic intensity r must be less than one Probability of zero jobs in the system: p0 = 1- r Probability of n jobs in the system: Mean number of jobs in the system:

M/M/1 Queue (cont’d) Variance of number of jobs in the system:
Probability of k jobs in the queue =