M/G/1 queue

Source: Wikipedia, the free encyclopedia.

In

hard disk.[2]

Model definition

A queue represented by a M/G/1 queue is a stochastic process whose

statistically independent
.

Scheduling policies

Customers are typically served on a

first-come, first-served
basis, other popular scheduling policies include

  • processor sharing where all jobs in the queue share the service capacity between them equally
  • last-come, first served
    without preemption where a job in service cannot be interrupted
  • last-come, first served with preemption where a job in service is interrupted by later arrivals, but work is conserved[3]
  • generalized foreground-background (FB) scheduling also known as least-attained-service where the jobs which have received least processing time so far are served first and jobs which have received equal service time share service capacity using processor sharing[3]
  • shortest job first
    without preemption (SJF) where the job with the smallest size receives service and cannot be interrupted until service completes
  • preemptive shortest job first where at any moment in time the job with the smallest original size is served[4]
  • shortest remaining processing time (SRPT) where the next job to serve is that with the smallest remaining processing requirement[5]

Service policies are often evaluated by comparing the mean sojourn time in the queue. If service times that jobs require are known on arrival then the optimal scheduling policy is SRPT.[6]: 296 

Policies can also be evaluated using a measure of fairness.[7]

Queue length

Pollaczek–Khinchine method

The

Pollaczek–Khinchine transform equation[2]

where g(s) is the Laplace transform of the service time probability density function.[8] In the case of an M/M/1 queue where service times are exponentially distributed with parameter μ, g(s) = μ/(μ + s).

This can be solved for individual state probabilities either using by direct computation or using the method of supplementary variables. The Pollaczek–Khinchine formula gives the mean queue length and mean waiting time in the system.[9][10]

Matrix analytic method

Consider the

embedded Markov chain of the M/G/1 queue, where the time points selected are immediately after the moment of departure. The customer being served (if there is one) has received zero seconds of service. Between departures, there can be 0, 1, 2, 3,... arrivals. So from state i the chain can move to state i – 1, i, i + 1, i + 2, ....[11] The embedded Markov chain has transition matrix

where

and F(u) is the service time distribution and λ the Poisson arrival rate of jobs to the queue.

Markov chains with generator matrices or block matrices of this form are called M/G/1 type Markov chains,[12] a term coined by Marcel F. Neuts.[13][14]

An M/G/1 queue has a stationary distribution if and only if the traffic intensity is less than 1, in which case the unique such distribution has probability-generating function:[15]

where is the moment-generating function of a general service time. The stationary distribution of an M/G/1 type Markov model can be computed using the matrix analytic method.[16]

Busy period

The busy period is the time spent in states 1, 2, 3,... between visits to the state 0. The expected length of a busy period is 1/(μ−λ) where 1/μ is the expected length of service time and λ the rate of the Poisson process governing arrivals.[17] Let denote the Laplace transform of the busy period probability density function (so is also the Laplace–Stieltjes transform of the busy period cumulative distribution function). Then can be shown to obey the Kendall functional equation[18][19]: 92 

where as above g is the Laplace–Stieltjes transform of the service time distribution function. This relationship can only be solved exactly in special cases (such as the M/M/1 queue), but for any s the value of ϕ(s) can be calculated and by iteration with upper and lower bounds the distribution function numerically computed.[20]

Waiting/response time

Writing W*(s) for the Laplace–Stieltjes transform of the waiting time distribution,[21] is given by the Pollaczek–Khinchine transform as

where g(s) is the Laplace–Stieltjes transform of service time probability density function.

Arrival theorem

As the arrivals are determined by a Poisson process, the arrival theorem holds.

Multiple servers

Many metrics for the M/G/k queue with k servers remain an open problem, though some approximations and bounds are known.

See also

References