Skip to main content
Log in

Perfect sampling of Jackson queueing networks

  • Published:
Queueing Systems Aims and scope Submit manuscript

Abstract

We consider open Jackson networks with losses with mixed finite and infinite queues and analyze the efficiency of sampling from their exact stationary distribution. We show that perfect sampling is possible, although the underlying Markov chain may have an infinite state space. The main idea is to use a Jackson network with infinite buffers (that has a product form stationary distribution) to bound the number of initial conditions to be considered in the coupling from the past scheme. We also provide bounds on the sampling time of this new perfect sampling algorithm for acyclic or hyper-stable networks. These bounds show that the new algorithm is considerably more efficient than existing perfect samplers even in the case where all queues are finite. We illustrate this efficiency through numerical experiments. We also extend our approach to variable service times and non-monotone networks such as queueing networks with negative customers.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. Bounding processes are called dominating processes in [14].

  2. Intel Core 2 Duo CPU U9400 1.40GHz, Cache 3072KB with 4.8 GB RAM. Only one core is used for each sample.

  3. CPU time used by the process computing one sample, measured with the CLOCK_PROCESS_ CPUTIME_ID of the time.h library.

  4. We could prove that if the initial network was well formed, no diagonal coefficient can become 1. Instead, we can show that even this case is not problematic. Let us suppose that \(d_{i_ni_n} =1\). We know that \(D^n\) is sub stochastic, so every other coefficient in the line is null, so the incorrect value is not used.

References

  1. Anselmi, J., Gaujal, B.: On the efficiency of perfect simulation in monotone queueing networks. In: IFIP Performance: 29th International Symposium on Computer Performance, Modeling, Measurements and Evaluation, Amsterdam. ACM Performance Evaluation Review (2011)

  2. Anselmi, J., Gaujal, B.: Efficiency of simulation in monotone hyper-stable queueing networks. Queuing Syst. Theory Appl. 76(1), 51-72 (2013)

  3. Bolch, G., Greiner, S., de Meer, H., Trivedi, K.: Queueing Networks and Markov Chains. Wiley-Interscience, New York (2005)

    Google Scholar 

  4. Busic, A., Gaujal, B., Vincent, J.-M.: Perfect simulation and non-monotone Markovian systems. In 3rd International Conference Valuetools’08, Athens, Greece. ICST (2008)

  5. Busic, A., Gaujal, B., Perronnin, F.: Perfect Sampling of Networks with Finite and Infinite Capacity Queues. In Al-Begain, K., Fiems, D., Vincent, J.-M. (eds.) 19th International Conference on Analytical and Stochastic Modelling Techniques and Applications (ASMTA) 2012, vol. 7314 of Lecture Notes in Computer Science, pp. 136–149, Grenoble, France. Springer, Heidelberg (2012a)

  6. Busic, A., Gaujal, B., Pin, F.: Perfect sampling of Markov chains with piecewise homogeneous events. Perform. Eval. 69(6), 247–266 (2012b)

    Article  Google Scholar 

  7. Chen, H., Yao, D.D.: Fundamentals of Queueing Networks. Springer, New York (2001)

    Book  Google Scholar 

  8. Dopper, J., Gaujal, B., Vincent, J.-M.: Bounds for the coupling time in queueing networks perfect simulation. In: Celebration of the 100th anniversary of Markov, Charleston, pp. 117–136 (2006)

  9. Gaujal, B., Perronnin, F., Bertin, R.: Perfect simulation of a class of stochastic hybrid systems with an application to peer to peer systems. J. Discret. Event Dyn. Syst. 18(2), 211–240 (2008). Special Issue on Hybrid Systems

    Article  Google Scholar 

  10. Gelenbe, E.: Product-form queueing networks with negative and positive customers. J. Appl. Probab. 28(3), 656–663 (1991)

    Article  Google Scholar 

  11. Goodman, J.B., Massey, W.A.: The non-ergodic Jackson network. J. Appl. Probab. 21(4), 860–869 (1984)

    Article  Google Scholar 

  12. Jackson, J.R.: Job shop-like queueing systems. Manag. Sci. 10, 131 (1963)

    Article  Google Scholar 

  13. Kelly, F.: Reversibility and Stochastic Networks. Wiley, Chichester (1979)

    Google Scholar 

  14. Kendall, W.S.: Notes on Perfect Simulation. Department of Statistics, University of Warwick, Warwick (2005)

    Book  Google Scholar 

  15. Kendall, W.S., Møller, J.: Perfect simulation using dominating processes on ordered spaces, with application to locally stable point processes. Adv. Appl. Probab. 32(3), 844–865 (2000)

    Article  Google Scholar 

  16. Pin, F., Busic, A., Gaujal, B.: Acceleration of perfect sampling for skipping events. In Valuetools, Paris (2011)

  17. Propp, J.G., Wilson, D.B.: Exact sampling with coupled Markov chains and applications to statistical mechanics. Rand. Struct. Alg. 9(1–2), 223–252 (1996)

    Article  Google Scholar 

  18. Vincent, J.-M.: Perfect simulation of monotone systems for rare event probability estimation. In: WSC ’05: Proceedings of the 37th Conference on Winter Simulation Conference, pp. 528–537 (2005)

  19. Walker, A.J.: An efficient method for generating discrete random variables with general distributions. ACM Trans. Math. Softw. 3, 253–256 (1977)

    Article  Google Scholar 

Download references

Acknowledgments

This work was partially supported by the ANR Numerical Models Program (MARMOTE Project).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Florence Perronnin.

Appendix: Solution of the traffic equations

Appendix: Solution of the traffic equations

Let us consider the traffic equations for a general Jackson network:

$$\begin{aligned} \left\{ \begin{array}{llcl} \forall i\not = 0,&{}\lambda _i = \sum _{j=1}^M p_{ji}(\lambda _j \wedge \mu _j), \\ \lambda _0 = \mu _0. \\ \end{array}\quad \right. \end{aligned}$$
(17)

Theorem 5

The system (17) admits exactly one solution.

Proof

Let \(h\) be the function \(h(\mathbf {x}){:=}\mathbf {x'}, x'_i = \sum \limits _{j \in \mathcal {J}} p_{ji} (x_j \wedge \mu _j)\). \(P\) only has non negative coefficients, so \(h\) is clearly monotone on \(\mathbb {R}^\mathcal {J}\).

We know that P is stochastic, so we have

$$\begin{aligned} h(\mathbf {x})_i \!=\!\! \sum \limits _{j\in \mathcal {J}} p_{ji} (x_j \wedge \mu _j) \!\le \!\! \sum \limits _{j\in \mathcal {J}} p_{ji} \max (\varvec{\mu }) \le \max (\varvec{\mu }) \Rightarrow h(x) \le \max \varvec{\mu }\;\text {for}\;\mathbf {x} \in \mathbb {R}^\mathcal {J}, \end{aligned}$$

giving an upper bound of the image of \(h\). We can also notice that for all inputs, the outputs of \(h\) are positive linear combinations of the inputs and of positive values (\( \varvec{\mu }\)). Therefore, if the inputs are non negative, then so are the outputs.

Hence the restriction of \(h\) to the complete lattice \([0, \max \varvec{\mu }]^\mathcal {J}\) is a monotone function on the same lattice. We can apply the Knaster-Tarski theorem: its fix points form a non empty lattice.

The minimum \({\mathbf {x}}^{-}\), maximum \({\mathbf {x}}^+\) of this lattice, and their difference, \(\varvec{\delta } \mathop {=}\limits ^{\mathrm{def}}{\mathbf {x}}^+ - {\mathbf {x}}^ - \), satisfy:

$$\begin{aligned} \delta _i = \sum \limits _{j \in \mathcal {J}, x^ +_j \le \mu _j} p_{ji} \delta _j + \sum \limits _{j\in \mathcal {J}, x^ -_j < \mu _j < x^ +_j} p_{ji}(\mu _j - x^ -_j) \le \sum \limits _{j \in \mathcal {J}} \delta _j p_{ji}, \quad \text { for all } i \ne 0. \end{aligned}$$

As for queue \(0\), \(\delta _0 =x^+_0 -x^-_0 =\mu _0 - \mu _0 = 0\). Since \(P\) is stochastic and irreducible, its maximum eigenvalue is 1 and the corresponding eigenspace is of dimension one, generated by an eigenvector without null coordinates.

So \(\varvec{\delta }\) can only be the vector \(0\) meaning that the lattice is reduced to a singleton. Hence the solution of the semi linear system exists and is unique. \(\square \)

1.1 Computation

One could iterate the function \(h\) until reaching the fixed point, but this method would not give any guarantee on the number of iterations. Instead, we propose working on a pair \(({\mathcal {L}}, \mathbf {x})\), where \({\mathcal {L}}\) is a set of queues and \(x\) is the solution of the following system; both system and solution will be updated together with the modification of \({\mathcal {L}}\).

$$\begin{aligned} \left\{ \begin{array}{llll} x_0 =\mu _0, \\ x_i = \sum _{j\in {\mathcal {L}}} \mu _j p_{ji} + \sum _{j \notin {\mathcal {L}}} (x_j\wedge \mu _j) p_{ji}&{} for\ i\ne 0. \end{array}\right. \end{aligned}$$
(18)

Starting with \({\mathcal {L}}\) equal to the set of all queues: \({\mathcal {L}} = {\mathcal {J}}\), we repeat the following procedure as long as possible.

  • Compute the vector \({\mathbf {x}}\), solution of (18).

  • Find one queue \(i^ *\) in \({\mathcal {L}}\) such that \( i^ *\in {\mathcal {L}}, x_{i^ *} \le \mu _{i^ *}\).

  • set the new set \({\mathcal {L}} = {\mathcal {L}} \backslash \{ i^*\}\)

Lemma 6

The solutions \({\mathbf {x}}\) of the successive systems form a non-increasing sequence and are expressible as linear combinations of \(\varvec{\mu }_{|{\mathcal {L}}}\).

Proof

This proof is in two parts: we first prove that the solutions \({\mathbf {x}}\) form a non-increasing sequence.

Consider the family of functions \(h_{{\mathcal {L}}}\) similar to the function \(h\) from the proof of Lemma 5:

$$\begin{aligned} h_{{\mathcal {L}}} ({\mathbf {x}}) \mathop {=}\limits ^{\mathrm{def}}\sum \limits _{j \not \in {\mathcal {L}}} p_{ji} (x_j \wedge \mu _j) + \sum \limits _{j \in {\mathcal {L}}} p_{ji} \mu _j. \end{aligned}$$

Every function of this family is monotone and admits only one fixed point on the lattice \( [0,\max \varvec{\mu }]^\mathcal {J}\) for exactly the same reason as in the proof of Theorem 5.

We also have immediately (using \(\forall a, b, (a\wedge b) \le a\))

$$\begin{aligned} \forall {\mathcal {L}}, {\mathcal {L}}',\; {\mathcal {L}}\subset {\mathcal {L}}' \Rightarrow h_{\mathcal {L}}\preceq h_{{\mathcal {L}}'}. \end{aligned}$$

Using the characterization of the minimum fixed point as the lower bound of the set where the output is lower than or equal to the input, we obtain:

$$\begin{aligned} \forall {\mathcal {L}}, {\mathcal {L}}',\; {\mathcal {L}}\subset {\mathcal {L}}' \Rightarrow \forall {\mathbf {x}}, h_{\mathcal {L}}\preceq h_{{\mathcal {L}}'}\Rightarrow h_{{\mathcal {L}}}(\text {FP} (h_{\mathcal {L}}')) \le \text {FP} (h_{\mathcal {L}}') \Rightarrow \text {FP} (h_{\mathcal {L}}) \le \text {FP} (h_{{\mathcal {L}}'}). \end{aligned}$$

Since the sequence \({\mathcal {L}}\) is decreasing, the fixed points \({\mathbf {x}}\) of \(h_{\mathcal {L}}\) form a non-increasing sequence.

As a corollary, for any integer \(n\) and for any \(i\in \mathcal {J}\backslash {\mathcal {L}}^n\), let \(n_0\) be the step when \(i\) was chosen. We have \( x^n_i \le x^{n_0}_i \le \mu _i \). Every term \((x_i \wedge \mu _i), i \notin {\mathcal {L}}^n\) in the system generated by \({\mathcal {L}}^n\) takes the value \(x_i\). Therefore, the system is equivalent to the new system:

$$\begin{aligned} \left\{ \begin{array}{llll} \forall i \not = 0,\; &{}x_i = \sum \limits _{j\in {\mathcal {L}}} \mu _j p_{ji} + \sum \limits _{j \notin {\mathcal {L}}} x_j p_{ji}, \\ &{}x_0 =\mu _0.\\ \end{array} \right. \end{aligned}$$
(19)

We denote by \(S({\mathcal {L}}, \varvec{\mu })\) this new system, by \({\mathbf {x}}^n\) the solution of \(S({\mathcal {L}}= {\mathcal {L}}^n,\varvec{\mu })\) and by \(i_n\) the element chosen before the \((n+1)\)th step.

Using the sequence \(({\mathcal {L}}^n)_n\), we build a sequence of matrices \((D^{(n)})_{n\in {\mathbb {N}}}\) such that for all indexes n, for all vector of real \( \varvec{\mu }\), \({\mathbf {x}}\) is solution of \( S({\mathcal {L}}^n,\varvec{\mu })\) if and only if \({\mathbf {x}}= \varvec{\mu }D^{(n)}\) with the additional property of partial sub-stochasticity:

$$\begin{aligned} D^n\text { is }{\mathcal {L}}^n\text {-sub-stochastic if }\forall n, \forall i \in \mathcal {J}, \sum \limits _{j\in {\mathcal {L}}^n} d^n_{ij} \le 1. \end{aligned}$$

We take \(D^{(0)} = P\); indeed, the solution \({\mathbf {x}}\) of \(S({\mathcal {L}}^0=\mathcal {J},\varvec{\mu })\) satisfies \({\mathbf {x}}= \varvec{\mu }P\), and \(P\) is stochastic.

Computation of \(D^{(n+1)}\) from \(D^{(n)}\): We want to use the vector \((\mu _1,\ldots , \mu _{i_n-1}, x_{i_n},\mu _{i_n+1},\ldots ,\mu _{N})\), where coordinate \(i_n\) in \(\varvec{\mu }\) is replaced by the variable \(x_{i_n}\).

We obtain a new system of variables \({\mathbf {x}}\) and \({\mathbf {m}}\) and equations:

$$\begin{aligned} \left\{ \begin{array}{ll} {\mathbf {x}}\text { solution of } S({\mathcal {L}}^n, \mathbf {m}),\\ {\mathbf {m}}=(\mu _1,\ldots , \mu _{i_n-1},x_{i_n},\mu _{i_n+1},\ldots ,\mu _{N}). \end{array} \right. \end{aligned}$$

With an immediate substitution on \(\mathbf {m}\), we can see that this system is exactly \(S({\mathcal {L}}^{n+1}, \varvec{\mu })\). By the definition of \(D^n\), this system is also equivalent to

$$\begin{aligned} \left\{ \begin{array}{ll} {\mathbf {x}}=\mathbf {m} D^{(n)}, \\ {\mathbf {m}}= (\mu _1,\ldots , \mu _{i_n-1},x_{i_n},\mu _{i_n+1},\ldots ,\mu _{N}), \end{array}\right. \end{aligned}$$

in which we can make the same substitution, therefore the solution \({\mathbf {x}}^{n+1}\) of \(S({\mathcal {L}}^{n+1}, \varvec{\mu })\) is also a solution of \(S({\mathcal {L}}^{n}, \mathbf {{\mathbf {m}}} )\), so that it must satisfy \({\mathbf {x}}^{n+1} = (\mu _1,\ldots ,\) \( \mu _{i_n-1},x^{n+1}_{i_n},\mu _{i_n+1},\ldots ,\mu _{N}) D^n\).

We notice that \(x^{n+1}_{i_n}\) is the only variable appearing on the right-hand side of this system, and satisfies:

$$\begin{aligned} x^{n+1}_{i_n}= \sum \limits _{j\in \mathcal {J}\backslash \{i_n\}} d^n_{ji_n} \mu _j + d^n_{i_ni_n} x^{n+1}_{i_n}. \end{aligned}$$

HenceFootnote 4

$$\begin{aligned} x^{n+1}_{i_n}= \sum \limits _{j\in \mathcal {J}\backslash \{i_n\}} \frac{d^n_{ji_n}}{1-d^n_{i_ni_n}} \mu _j. \end{aligned}$$

Now, we substitute in every equation of the system the variable \(x^{n+1}_{i_n}\) by this combination. We obtain exactly the system \(S({\mathcal {L}}^{n+1},\varvec{\mu })\) in the form of a linear combination \( {\mathbf {x}}^{n+1}= \varvec{\mu } D^{n+1}\).

To summarize, we obtain \(D^{n+1}\) from \(D^n\) by applying the following successive elementary operations:

$$\begin{aligned} d^{n+1}_{j i_n}&:= \frac{d^n_{j i_n}}{1-d^n_{i_ni_n}} \quad \text{ for } \text{ all }\; j\ne i_n\nonumber \\ d^{n+1}_{ij}&= d^n_{ij} + \frac{d^n_{i i_n} d^ n_{i_nj}}{1-d_{i_ni_n}} = d^n_{ij} + d^{n+1}_{i i_n} d^{n}_{i_nj} \quad \text{ for } \text{ all }\;i,j\ne i_n\nonumber \\ d^{n+1}_{i_n j}&:= 0 \quad \text{ for } \text{ all }\;j. \end{aligned}$$
(20)

Finally, let us show that \(D^{n+1}\) is \({\mathcal {L}}\)-sub-stochastic:

Consider row \(i\ne i_n\) (the \(i_n\)th row is null). Using the previous result and the fact that \(D^{(n)}\) is \({\mathcal {L}}^n\)-sub-stochastic:

$$\begin{aligned} \sum \limits _{j\in {\mathcal {L}}^{n+1}} d^{n+1}_{ij} = \sum \limits _{j\in {\mathcal {L}}^n} d^{n}_{ij} + d^n_{ii_n}\left( \sum \limits _{j\in {\mathcal {L}}^n} d^{n+1}_{i_nj} -1\right) \le \sum \limits _{j\in {\mathcal {L}}^n} d^{n}_{ij} \le 1 \end{aligned}$$

Also, by using (20) and the fact that all coefficient of \(d_{ij}^{n}\) are non negative, all coefficients \(d_{ij}^{n+1}\) are clearly non negative as well. Therefore, \(D^{(n+1)}\) is \({\mathcal {L}}^{n+1}\)-sub-stochastic. \(\square \)

Lemma 7

The generated sequence stops after at most \(|\mathcal {J}|\) steps and can only end on a solution of the traffic equations.

Proof

At each step, the size of \({\mathcal {L}}\) decreases by one. This size begins at \(|\mathcal {J}|\) and cannot be negative. Hence the sequence cannot have more than \(|\mathcal {J}|\) steps.

An ending is a state where every element of \({\mathcal {L}}\) satisfies: \( {\mathbf {x}}^\text {end}_i > \mu _i\; \text {for}\; i\in {\mathcal {L}}\) (stopping condition) and \( {\mathbf {x}}^\text {end}_i \le \mu _i\; \text {for}\; i\in \mathcal {J}\backslash {\mathcal {L}}\) (part of recurrence property).

Hence the \(\min \) operator \(\wedge \) in (7) gives \(\mu _i\) on exactly the set \({\mathcal {L}}\). Using the function \(h\) defined in the proof of Theorem 5 in the Appendix, we have

$$\begin{aligned} \forall i \in \mathcal {J},\, h({\mathbf {x}}^\text {end})_i = \sum \limits _{j\in {\mathcal {L}}} p_{ji}\mu _i +\sum \limits _{j\notin {\mathcal {L}}} p_{ji}{\mathbf {x}}^\text {end}_i = {\mathbf {x}}^\text {end}_i \end{aligned}$$

by definition of \({\mathbf {x}}^\text {end}\) as the solution of exactly this system. Since \({\mathbf {x}}^\text {end}\) is a fixed point of \(h\), it is also the only solution of the system (7). \(\square \)

figure c

Remark 3

We don’t need to implement the instruction \(\{\forall j \in \mathcal {J},{d}_{ji^*}\leftarrow 0\}\) since the coefficients in columns outside \({\mathcal {L}}\) will never be accessed again.

Proposition 4

(complexity) Algorithm 3 computes the solution of the traffic equations in \(O(M^3)\) operations.

Proof

There will be at most \(M\) executions of the loop.

Cost of the different operations:

  1. 1.

    initialization: The first step is a product of a matrix and a vector: \(O(M^2)\).

  2. 2.

    choice of \(i_n\): At most \(|{\mathcal {L}}|\) tests are done in one set: \(O(M)\).

  3. 3.

    update of \(D\): At each step less than \(M^2\) coefficients are updated, and each update consists in a constant number of operations.

  4. 4.

    update of \({\mathcal {L}}\): With a direct pointer, this operation is done in constant time.

  5. 5.

    computation of \(\mathbf {x}\) It is a matrix-vector product: done in \(O(M^ 2)\).

Finally, the algorithm is made of at most \(M\) repetitions of this \(O(M^2)\) loop, so its execution is in \(O(M^3)\). \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bušić, A., Durand, S., Gaujal, B. et al. Perfect sampling of Jackson queueing networks. Queueing Syst 80, 223–260 (2015). https://doi.org/10.1007/s11134-015-9436-z

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11134-015-9436-z

Keywords

Mathematics Subject Classification

Navigation