M/G/1 queue

{{Use American English|date = January 2019}}

{{Short description|Queue with Markov (Poisson) arrival process, general service time distribution and one server}}

In queueing theory, a discipline within the mathematical theory of probability, an M/G/1 queue is a queue model where arrivals are Markovian (modulated by a Poisson process), service times have a General distribution and there is a single server.{{cite book | page = 77 | title = Multi-armed Bandit Allocation Indices | first = John C. | last = Gittins | author-link = John C. Gittins | publisher = John Wiley & Sons | year = 1989| isbn = 0471920592}} The model name is written in Kendall's notation, and is an extension of the M/M/1 queue, where service times must be exponentially distributed. The classic application of the M/G/1 queue is to model performance of a fixed head hard disk.

Model definition

A queue represented by a M/G/1 queue is a stochastic process whose state space is the set {0,1,2,3...}, where the value corresponds to the number of customers in the queue, including any being served. Transitions from state i to i + 1 represent the arrival of a new customer: the times between such arrivals have an exponential distribution with parameter λ. Transitions from state i to i − 1 represent a customer who has been served, finishing being served and departing: the length of time required for serving an individual customer has a general distribution function. The lengths of times between arrivals and of service periods are random variables which are assumed to be 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{{Cite book | last1 = Harchol-Balter | first1 = M. |author1-link=Mor Harchol-Balter| chapter = Scheduling: Preemptive, Non-Size-Based Policies | doi = 10.1017/CBO9781139226424.038 | title = Performance Modeling and Design of Computer Systems | pages = 482–498 | year = 2012 | isbn = 9781139226424 }}
  • 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
  • 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{{Cite book | last1 = Harchol-Balter | first1 = M. |author1-link=Mor Harchol-Balter| chapter = Scheduling: Preemptive, Size-Based Policies | doi = 10.1017/CBO9781139226424.040 | title = Performance Modeling and Design of Computer Systems | pages = 508–517 | year = 2012 | isbn = 9781139226424 }}
  • shortest remaining processing time (SRPT) where the next job to serve is that with the smallest remaining processing requirement{{Cite book | last1 = Harchol-Balter | first1 = M. |author1-link=Mor Harchol-Balter| chapter = Scheduling: SRPT and Fairness | doi = 10.1017/CBO9781139226424.041 | title = Performance Modeling and Design of Computer Systems | pages = 518–530 | year = 2012 | isbn = 9781139226424 }}

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.{{cite book | first = Natarajan | last = Gautam | title = Analysis of Queues: Methods and Applications | publisher = CRC Press | year = 2012 | isbn = 9781439806586}}{{rp|296}}

Policies can also be evaluated using a measure of fairness.{{Cite journal | last1 = Wierman | first1 = A. | author-link1 = Adam Wierman| last2 = Harchol-Balter | first2 = M. |author2-link=Mor Harchol-Balter| doi = 10.1145/885651.781057 | title = Classifying scheduling policies with respect to unfairness in an M/GI/1 | journal = ACM SIGMETRICS Performance Evaluation Review | volume = 31 | pages = 238–249 | year = 2003 | url = http://www.aladdin.cs.cmu.edu/papers/pdfs/y2003/unfairgen.pdf}}

Queue length

=Pollaczek–Khinchine method=

The probability generating function of the stationary queue length distribution is given by the Pollaczek–Khinchine transform equation{{cite book|first1=Peter|last1=Harrison|author-link=Peter G. Harrison|first2=Naresh M. |last2=Patel|title=Performance Modelling of Communication Networks and Computer Architectures|url=https://archive.org/details/performancemodel0000harr|url-access=registration|publisher=Addison–Wesley|year=1992}}

:\pi(z) = \frac{(1-z)(1-\rho)g(\lambda(1-z))}{g(\lambda(1-z))-z}

where g(s) is the Laplace transform of the service time probability density function.{{Cite journal | last1 = Peterson | first1 = G. D. | last2 = Chamberlain | first2 = R. D. | doi = 10.1088/0967-1846/3/1/003 | title = Parallel application performance in a shared resource environment | journal = Distributed Systems Engineering | volume = 3 | pages = 9–19 | year = 1996 | doi-access = free }} 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.{{Cite journal | last1 = Pollaczek | first1 = F. | author-link1 = Felix Pollaczek| doi = 10.1007/BF01194620 | title = Über eine Aufgabe der Wahrscheinlichkeitstheorie | journal = Mathematische Zeitschrift | volume = 32 | pages = 64–75 | year = 1930 | s2cid = 125053340 }}{{cite journal|last=Khintchine|first=A. Y|author-link=Aleksandr Khinchin|year=1932|title=Mathematical theory of a stationary queue|journal=Matematicheskii Sbornik|volume=39|number=4|pages=73–84|url=http://mi.mathnet.ru/rus/msb/v39/i4/p73|access-date=2011-07-14}}

Recently, the Pollaczek–Khinchine formula has been extended to the case of infinite service moments, thanks to the use of Robinson's Non-Standard Analysis.{{Cite journal |last=Fiorini |first=Francesco |last2=Cococcioni |first2=Marco |last3=Pagano |first3=Michele |date=2024 |title=Extending the Applicability of the Pollaczek-Khinchin Formula to the Case of Infinite Service Moments |url=https://ieeexplore.ieee.org/document/10707637/ |journal=IEEE Transactions on Communications |pages=1–1 |doi=10.1109/TCOMM.2024.3476126 |issn=0090-6778}}

=Matrix analytic method=

{{Main|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, ....{{cite book|title=Probability, Markov chains, queues, and simulation|url=https://archive.org/details/probabilitymarko00stew|url-access=limited|first=William J.|last=Stewart|publisher=Princeton University Press|year=2009|page=[https://archive.org/details/probabilitymarko00stew/page/n528 510]|isbn=978-0-691-14062-9}} The embedded Markov chain has transition matrix

:P = \begin{pmatrix}

a_0 & a_1 & a_2 & a_3 & a_4 & \cdots \\

a_0 & a_1 & a_2 & a_3 & a_4 & \cdots \\

0 & a_0 & a_1 & a_2 & a_3 & \cdots \\

0 & 0 & a_0 & a_1 & a_2 & \cdots \\

0 & 0 & 0 & a_0 & a_1 & \cdots \\

\vdots & \vdots & \vdots & \vdots & \vdots & \ddots

\end{pmatrix}

where

:a_v = \int_0^\infty e^{-\lambda u} \frac{(\lambda u)^v}{v!} \text{d}F(u) ~\text{ for } v \geq 0

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,{{cite book|title=Matrix-geometric solutions in stochastic models: an algorithmic approach (Johns Hopkins Studies in Mathematical Sciences)|first=Marcel F.|last=Neuts|page=2|year=1981|isbn=0-486-68342-7|publisher=Johns Hopkins University Press}} a term coined by Marcel F. Neuts.{{cite journal | first = M. F . | last= Neuts | title= Structured Stochastic Matrices of M/G/1 Type and Their Applications| publisher = Marcel Dekk.|location= New York| year = 1989}}{{Cite journal | last1 = Meini | first1 = B.|author1-link=Beatrice Meini | doi = 10.1080/15326349808807483 | title = Solving m/g/l type markov chains: Recent advances and applications | journal = Communications in Statistics. Stochastic Models | volume = 14 | pages = 479–496 | year = 1998 | issue = 1–2 }}

An M/G/1 queue has a stationary distribution if and only if the traffic intensity \rho=\lambda \mathbb{E}(G) is less than 1, in which case the unique such distribution has probability-generating function:{{cite book | title=Probability and Random Processes | first2=D. R. | last2=Stirzaker | first1=G. R. | last1=Grimmett | author-link=Geoffrey Grimmett | year=1992 |edition=second | publisher=Oxford University Press|isbn=0198572220 |page=422 }}

:G(s)=\frac{(1-\rho)(1-s)}{1-s/M_S(\lambda(s-1))}

where M_S 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.{{Cite book | last1 = Bini | first1 = D. A. | last2 = Latouche | first2 = G. | last3 = Meini | first3 = B.|author3-link=Beatrice Meini | doi = 10.1093/acprof:oso/9780198527688.001.0001 | title = Numerical Methods for Structured Markov Chains | year = 2005 | isbn = 9780198527688 }}

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 \dfrac{1}{\mu - \lambda} where \dfrac{1}{\mu} is the expected length of service time and \lambda the rate of the Poisson process governing arrivals.{{cite journal|title=Hitting time in an M/G/1 queue|last1=Ross|first1=Sheldon M.|last2=Seshadri|first2=Sridhar|journal=Journal of Applied Probability |year=1999|pages=934–940 |jstor=3215453 |url=http://pages.stern.nyu.edu/~sseshadr/journalArticles/hitting_time_in_mg1_queue.pdf |volume=36 |issue=3 |doi=10.1239/jap/1029349991}} Let \phi(s) denote the Laplace transform of the busy period probability density function (so \phi(s) is also the Laplace–Stieltjes transform of the busy period cumulative distribution function). Then \phi(s) can be shown to obey the Kendall functional equation{{Cite journal | last1 = Abate | first1 = J. | last2 = Choudhury | first2 = G. L. | last3 = Whitt | first3 = W. | author-link3= Ward Whitt| doi = 10.1016/0167-6377(95)00049-6 | title = Calculating the M/G/1 busy-period density and LIFO waiting-time distribution by direct numerical transform inversion | journal = Operations Research Letters | volume = 18 | issue = 3 | pages = 113–119 | year = 1995 | url = http://www.columbia.edu/~ww2040/CalculatingMG1Busy1995.pdf}}{{Cite book | last1 = Mitrani | first1 = I. | chapter = Queueing systems: average performance | doi = 10.1017/CBO9781139173087.004 | title = Probabilistic Modelling | pages = 74–121| year = 1997 | isbn = 9781139173087 | publisher = Cambridge University Press}}{{rp|92}}

::\phi(s) = g[s+\lambda - \lambda \phi(s)]

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 \phi(s) can be calculated and by iteration with upper and lower bounds the distribution function numerically computed.{{Cite journal | last1 = Abate | first1 = J. | last2 = Whitt | first2 = W. | author-link2 = Ward Whitt| doi = 10.1016/0167-6377(92)90085-H | title = Solving probability transform functional equations for numerical inversion | journal = Operations Research Letters | volume = 12 | issue = 5 | pages = 275–281 | year = 1992 | url = http://www.columbia.edu/~ww2040/SolvingORletters.pdf}}

Waiting/response time

Writing W*(s) for the Laplace–Stieltjes transform of the waiting time distribution,{{Cite book | first1 = John N. | last1 = Daigle| doi = 10.1007/0-387-22859-4_5 | chapter = The Basic M/G/1 Queueing System | title = Queueing Theory with Applications to Packet Telecommunication | url = https://archive.org/details/queueingtheorywi00daig | url-access = limited | pages = [https://archive.org/details/queueingtheorywi00daig/page/n174 159]–223 | year = 2005 | isbn = 0-387-22857-8 }} is given by the Pollaczek–Khinchine transform as

:W^\ast(s) = \frac{(1-\rho)s g(s)}{s-\lambda(1-g(s))}

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

{{Main|M/G/k queue}}

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

{{Reflist}}

{{Queueing theory}}

{{Stochastic processes}}

{{DEFAULTSORT:M G 1 queue}}

Category:Single queueing nodes