Jackson network

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

In queueing theory, a discipline within the mathematical theory of probability, a Jackson network (sometimes Jacksonian network[1]) is a class of queueing network where the equilibrium distribution is particularly simple to compute as the network has a product-form solution. It was the first significant development in the theory of networks of queues, and generalising and applying the ideas of the theorem to search for similar product-form solutions in other networks has been the subject of much research,[2] including ideas used in the development of the Internet.[3] The networks were first identified by James R. Jackson[4][5] and his paper was re-printed in the journal Management Science’s ‘Ten Most Influential Titles of Management Sciences First Fifty Years.’[6]

Jackson was inspired by the work of Burke and Reich,[7] though Jean Walrand notes "product-form results … [are] a much less immediate result of the output theorem than Jackson himself appeared to believe in his fundamental paper".[8]

An earlier product-form solution was found by R. R. P. Jackson for tandem queues (a finite chain of queues where each customer must visit each queue in order) and cyclic networks (a loop of queues where each customer must visit each queue in order).[9]

A Jackson network consists of a number of nodes, where each node represents a queue in which the service rate can be both node-dependent and state-dependent. Jobs travel among the nodes following a fixed routing matrix. All jobs at each node belong to a single "class" and jobs follow the same service-time distribution and the same routing mechanism. Consequently, there is no notion of priority in serving the jobs: all jobs at each node are served on a first-come, first-served basis.

Jackson networks where a finite population of jobs travel around a closed network also have a product-form solution described by the Gordon–Newell theorem.[10]

Definition

In an open network, jobs arrive from outside following a Poisson process with rate \alpha>0. Each arrival is independently routed to node j with probability p_{0j}\ge0 and \sum_{j=1}^J p_{0j}=1. Upon service completion at node i, a job may go to another node j with probability p_{ij} or leave the network with probability p_{i0}=1-\sum_{j=1}^J p_{ij}.

Hence we have the overall arrival rate to node i, \lambda_i, including both external arrivals and internal transitions:

 \lambda_i =\alpha p_{0i} + \sum_{j=1}^J \lambda_j p_{ji}, i=1,\ldots,J.    \qquad (1)

Define  a=(\alpha p_{0i})_{i=1}^J, then we can solve  \lambda=(I-P')^{-1}a.

All jobs leave each node also following Poisson process, and define  \mu_i(x_i) as the service rate of node i when there are  x_i jobs at node i.

Let X_i(t) denote the number of jobs at node i at time t, and  \mathbf{X}=(X_i)_{i=1}^J. Then the equilibrium distribution of \mathbf{X}, \pi(\mathbf{x})=P(\mathbf{X}=\mathbf{x}) is determined by the following system of balance equations:

 \pi(\mathbf{x}) \sum_{i=1}^J [\alpha p_{0i} +\mu_i (x_i) (1-p_{ii})] =\sum_{i=1}^J[\pi(\mathbf{x}-\mathbf{e}_i) \alpha p_{0i}+\pi(\mathbf{x}+\mathbf{e}_i)\mu_i(x_i+1)p_{i0}]+\sum_{i=1}^J\sum_{j\ne i}\pi(\mathbf{x}+\mathbf{e}_i-\mathbf{e}_j)\mu_i(x_i+1)p_{ij}.\qquad (2)

where \mathbf{e}_i denote the  i^{th} unit vector.

Theorem

Suppose a vector of independent random variables  (Y_1,\ldots,Y_J) with each  Y_i having a probability mass function as

 P(Y_i=n)=p(Y_i=0)\cdot \frac{\lambda_i^n}{M_i(n)}, \quad (3)

where  M_i(n)=\prod_{j=1}^n \mu_i(j) . If  \sum_{n=1}^\infty \frac{\lambda_i^n}{M_i(n)} < \infty i.e. P(Y_i=0)=\left(1+\sum_{n=1}^\infty \frac{\lambda_i^n}{M_i(n)}\right)^{-1} is well defined, then the equilibrium distribution of the open Jackson network has the following product form:

 \pi(\mathbf{x})=\prod _{i=1}^J P(Y_i=x_i).

for all \mathbf{x}\in \mathcal{Z}_{+}^J .⟩

<templatestyles src="Template:Hidden begin/styles.css"/>

Proof

It suffices to verify equation (2) is satisfied. By the product form and formula (3), we have:

 \pi(\mathbf{x}) =\pi (\mathbf{x}+\mathbf{e}_i)\mu_i(x_i+1)/ \lambda_i
= \pi( \mathbf{x}+ \mathbf{e}_i- \mathbf{e}_j) \mu_i (x_i+1) \lambda_j /[\lambda_i \mu_j (x_j)]

Substituting these into the right side of (2) we get:

 \sum_{i=1}^J [\alpha p_{0i}+\mu_i(x_i)(1-p_{ii})]=\sum_{i=1}^J[\frac{\alpha p_{0i}}{\lambda_i}\mu_i(x_i)+\lambda_i p_{i0}]+\sum_{i=1}^J\sum_{j\ne i}\frac{\lambda_i}{\lambda_j}p_{ij}\mu_j(x_j). \qquad (4)

Then use (1), we have:

 \sum_{i=1}^J\sum_{j\ne i}\frac{\lambda_i}{\lambda_j}p_{ij}\mu_j(x_j) = \sum_{j=1}^J [\sum_{i \ne j}\frac{\lambda_i}{\lambda_j}p_{ij}]\mu_j(x_j)=\sum_{j=1}^J[1-p_{jj}-\frac{\alpha p_{0j}}{\lambda_j}]\mu_j(x_j).

Substituting the above into (4), we have:

 \sum_{i=1}^J \alpha p_{0i}=\sum_{i=1}^J \lambda_i p_{i0}

This can be verified by  \sum_{i=1}^J \alpha p_{0i}= \sum_{i=1}^J\lambda_i-\sum _{i=1}^J\sum_{j=1}^J\lambda_j p_{ji}=\sum_{i=1}^J\lambda_i-\sum_{j=1}^J\lambda_j(1-p_{j0})=\sum_{i=1}^J\lambda_ip_{i0} . Hence both side of  (2) are equal.⟨

This theorem extends the one shown on Jackson's Theorem page by allowing state-dependent service rate of each node. It relates the distribution of \mathbf{X} by a vector of independent variable  \mathbf{Y} .

Example

File:Open jackson network (final).png
A three-node open Jackson network

Suppose we have a three-node Jackson shown in the graph, the coefficients are:

\alpha=5, \quad
p_{01}=p_{02}=0.5, \quad p_{03}=0,\quad

P=\begin{bmatrix}
0 & 0.5 & 0.5\\
0 & 0 & 0 \\
0 & 0 & 0\end{bmatrix}, 
\quad 
\mu=\begin{bmatrix}
\mu_1(x_1)\\
\mu_2(x_2)\\
\mu_3(x_3)\end{bmatrix}
=\begin{bmatrix}
15\\
12\\
10\end{bmatrix} 
\text{ for all }x_i>0

Then by the theorem, we can calculate:

\lambda=(I-P')^{-1}a=\begin{bmatrix}
1 & 0 & 0\\
-0.5 & 1 & 0 \\
-0.5 & 0 & 1\end{bmatrix}^{-1}\begin{bmatrix}
0.5\times5\\
0.5\times5\\
0
\end{bmatrix}=\begin{bmatrix}
1&0&0\\
0.5&1&0\\
0.5&0&1\end{bmatrix}\begin{bmatrix}
2.5\\
2.5\\
0\end{bmatrix}=\begin{bmatrix}
2.5\\
3.75\\
1.25\end{bmatrix}

According to the definition of  \mathbf{Y} , we have:

 P(Y_1=0)=\left(1+\sum_{n=1}^\infty \left(\frac{2.5}{15}\right)^n\right)^{-1}=\frac{5}{6}
 P(Y_2=0)=\left(1+\sum_{n=1}^\infty \left(\frac{3.75}{12}\right)^n\right)^{-1}=\frac{11}{16}
 P(Y_3=0)=\left(1+\sum_{n=1}^\infty \left(\frac{1.25}{10}\right)^n\right)^{-1}=\frac{7}{8}

Hence the probability that there is one job at each node is:

 \pi(1,1,1)=\frac{5}{6}\cdot\frac{2.5}{15}\cdot\frac{11}{16}\cdot\frac{3.75}{12}\cdot\frac{7}{8}\cdot\frac{1.25}{10}\approx 0.00326

Since the service rate here does not depend on state, the  Y_is simply follow a geometric distribution.

Generalized Jackson network

A generalized Jackson network allows renewal arrival processes that need not be Poisson processes, and independent, identically distributed non-exponential service times. In general, this network does not have a product-form stationary distribution, so approximations are sought.[11]

Brownian approximation

Under some mild conditions the queue-length process[clarification needed] Q(t) of an open generalized Jackson network can be approximated by a reflected Brownian motion defined as  RBM_{Q(0)}(\theta,\Gamma;R)., where  \theta is the drift of the process,  \Gamma is the covariance matrix, and  R is the reflection matrix. This is a two-order approximation obtained by relation between general Jackson network with homogeneous fluid network and reflected Brownian motion.

The parameters of the reflected Brownian process is specified as follows:

 \theta= \alpha -(I-P')\mu
 \Gamma=(\Gamma_{kl}) with  \Gamma_{kl}=\sum_{j=1}^J (\lambda_j \wedge \mu_j)[p_{jk}(\delta_{kl}-p_{jl})+c_j^2(p_{jk}-\delta_{jk})(p_{jl}-\delta_{jl})]+\alpha_k c_{0,k}^2 \delta_{kl}
 R=I-P'

where the symbols are defined as:

Definitions of symbols in the approximation formula
symbol Meaning
 \alpha=(\alpha_j)_{j=1}^J a J-vector specifying the arrival rates to each node.
 \mu=(\mu)_{j=1}^J a J-vector specifying the service rates of each node.
 P routing matrix.
 \lambda_j effective arrival of  j^{th} node.
 c_j variation of service time at  j^{th} node.
 c_{0,j} variation of inter-arrival time at  j^{th} node.
 \delta_{ij} coefficients to specify correlation between nodes.<templatestyles src="Template:Hidden begin/styles.css"/>

They are defined in this way: Let A(t) be the arrival process of the system, then A(t)-\alpha t {}\approx \hat{A}(t) in distribution, where \hat{A}(t) is a driftless Brownian process with covariate matrix \Gamma^0=(\Gamma^0_{ij}), with \Gamma^0_{ij}=\alpha_i c_{0,i}^2 \delta_{ij}, for any i,j\in \{1,\dots,J\}

Lua error in package.lua at line 80: module 'strict' not found.

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.