# M/D/1 queue

In queueing theory, a discipline within the mathematical theory of probability, an M/D/1 queue represents the queue length in a system having a single server, where arrivals are determined by a Poisson process and job service times are fixed (deterministic). The model name is written in Kendall's notation. Agner Krarup Erlang first published on this model in 1909, starting the subject of queueing theory. An extension of this model with more than one server is the M/D/c queue.

## Model definition

An M/D/1 queue is a stochastic process whose state space is the set {0,1,2,3,...} where the value corresponds to the number of entities in the system, including any currently in service.
* Arrivals occur at rate λ according to a Poisson process and move the process from state i to i + 1.
* Service times are deterministic time D (serving at rate μ = 1/D).
* A single server serves entities one at a time from the front of the queue, according to a first-come, first-served discipline. When the service is complete the entity leaves the queue and the number of entities in the system reduces by one.
* The buffer is of infinite size, so there is no limit on the number of entities it can contain.

### Transition Matrix

The transition probability matrix for an M/D/1 queue with arrival rate λ and service time 1, such that λ <1 (for stability of the queue) is given by P as below:
$P={\begin{pmatrix}a_{0}&a_{1}&a_{2}&a_{3}&...\\a_{0}&a_{1}&a_{2}&a_{3}&...\\0&a_{0}&a_{1}&a_{2}&...\\0&0&a_{0}&a_{1}&...\\...&...&...&...&...\\\end{pmatrix}}$ ， $a_{n}={\frac {\lambda ^{n}}{n!}}e^{-\lambda }$, n = 0,1,....

### Classic performance metrics

The following expressions present the classic performance metrics of a single server queuing system such as M/D/1, with:
* arrival rate $=\lambda$,
* service rate $=\mu$, and
* utilization $=\rho ={\frac {\lambda }{\mu }}$
The average number of entities in the system, L is given by:
$L=\rho +{\frac {1}{2}}\left({\frac {\rho ^{2}}{1-\rho }}\right);$
The average number of entities in the queue (line), L$_Q$ is given by:
$L_{Q}={\frac {1}{2}}\left({\frac {\rho ^{2}}{1-\rho }}\right);$
The average waiting time in the system, ω is given by:
$\omega ={\frac {1}{\mu }}+{\frac {\rho }{2\mu (1-\rho )}};$
The average waiting time in the queue (line), ω $_Q$ is given by:
$\omega _{Q}={\frac {\rho }{2\mu (1-\rho )}}$

### Example

Considering a system that has only one server, with an arrival rate of 20 entities per hour and the service rate is at a constant of 30 per hour.
So the utilization of the server is: ρ=20/30=2/3. Using the metrics shown above, the results are as following: 1) Average number in line L$_Q$= 0.6667; 2) Average number in system L =1.333; 3) Average time in line ω$_Q$ = 0.033 hour; 4) Average time in system ω = 0.067 hour.

### Relations for Mean Waiting Time in M/M/1 and M/D/1 queues

For an equilibrium M/G/1 queue, the expected value of the time W spent by a customer in the queue are given by Pollaczek-Khintchine formula as below:
$E(W)={\frac {\rho \tau }{2(1-\rho )}}\left(1+{\frac {\sigma ^{2}}{\tau ^{2}}}\right)$
where τ is the mean service time; σ$^2$ is the variance of service time; and ρ=λτ < 1, λ being the arrival rate of the customers.
For M/M/1 queue, the service times are exponentially distributed, then σ$^2$ = τ$^2$ and the mean waiting time in the queue denoted by W$_M$ is given by the following equation:
${W_{M}}={\frac {\rho \tau }{1-\rho }}$
Using this, the corresponding equation for M/D/1 queue can be derived, assuming constant service times. Then the variance of service time becomes zero, i.e. σ$^2$ = 0. The mean waiting time in the M/D/1 queue denoted as W$_D$ is given by the following equation:
${W_{D}}={\frac {\rho \tau }{2(1-\rho )}}$
From the two equations above, we can infer that Mean queue length in M/M/1 queue is twice that in M/D/1 queue.

## Stationary distribution

The number of jobs in the queue can be written as M/G/1 type Markov chain and the stationary distribution found for state i (written π$_i$) in the case D = 1 to be
    ${\begin{aligned}\pi _{0}&=1-\lambda \\\pi _{1}&=(1-\lambda )(e^{\lambda }-1)\\\pi _{n}&=(1-\lambda )\left(e^{n\lambda }+\sum _{k=1}^{n-1}e^{k\lambda }(-1)^{n-k}\left[{\frac {(k\lambda )^{n-k}}{(n-k)!}}+{\frac {(k\lambda )^{n-k-1}}{(n-k-1)!}}\right]\right)\quad (n\geq 2).\end{aligned}}$

## Delay

Define ρ = λ/μ as the utilization; then the mean delay in the system in M/D/1 queue is
       ${\frac {1}{2\mu }}\cdot {\frac {2-\rho }{1-\rho }}.$
and in the queue:
       ${\frac {1}{2\mu }}\cdot {\frac {\rho }{1-\rho }}.$

## Busy period

The busy period is the time period measured from the instant a first customer arrives at an empty queue to the time when the queue is again empty. This time period is equal to D times the number of customers served. If ρ < 1, then the number of customers served during a busy period of the queue has a Borel distribution with parameter ρ.

## Finite capacity
### Stationary distribution

A stationary distribution for the number of customers in the queue and mean queue length can be computed using probability generating functions.

### Transient solution

The transient solution of an M/D/1 queue of finite capacity N, often written M/D/1/N, was published by Garcia et al. in 2002.

## Application

Includes applications in wide area network design, where a single central processor to read the headers of the packets arriving in exponential fashion, then computes the next adapter to which each packet should go and dispatch the packets accordingly. Here the service time is the processing of the packet header and cyclic redundancy check, which are independent of the length of each arriving packets. Hence, it can be modeled as a M/D/1 queue.