Skip to main content
Log in

Exact analysis of the M/M/k/setup class of Markov chains via recursive renewal reward

  • Published:
Queueing Systems Aims and scope Submit manuscript

Abstract

The M/M/k/setup model, where there is a penalty for turning servers on, is common in data centers, call centers, and manufacturing systems. Setup costs take the form of a time delay, and sometimes there is additionally a power penalty, as in the case of data centers. While the M/M/1/setup was exactly analyzed in 1964, no exact analysis exists to date for the M/M/k/setup with \(k>1\). In this paper, we provide the first exact, closed-form analysis for the M/M/k/setup and some of its important variants including systems in which idle servers delay for a period of time before turning off or can be put to sleep. Our analysis is made possible by a new way of combining renewal reward theory and recursive techniques to solve Markov chains with a repeating structure. Our renewal-based approach uses ideas from renewal reward theory and busy period analysis to obtain closed-form expressions for metrics of interest such as the transform of time in system and the transform of power consumed by the system. The simplicity, intuitiveness, and versatility of our renewal-based approach makes it useful for analyzing Markov chains far beyond the M/M/k/setup. In general, our renewal-based approach should be used to reduce the analysis of any 2-dimensional Markov chain which is infinite in at most one dimension and repeating to the problem of solving a system of polynomial equations. In the case where all transitions in the repeating portion of the Markov chain are skip-free and all up/down arrows are unidirectional, the resulting system of equations will yield a closed-form solution.

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.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Notes

  1. In principle, any state can be chosen as the renewal state, but some states allow for an easier (or shorter) analysis.

  2. Several techniques in the literature such as matrix-analytic methods [17] and stochastic complementation [22] also deal with border states, although none of them involve renewal-reward theory.

  3. See Footnote 2.

  4. The definition given for \(p_{i\rightarrow d}^L\) applies in all cases except when \(j=k\) and \(d\in \{k-1,k\}\). When \(j=k\), we can never end in depth \(k\) when moving one step to the left; in this case, we interpret \(p_{i\rightarrow k}^L\) (or \(p_{i\rightarrow k-1}^L\)) as the probability that we first moved one step left by transitioning out of a state in depth \(k\) (or \(k-1\)).

References

  1. Adan, I., Resing, J.: A class of Markov processes on a semi-infinite strip. Technical Report 99–03, Eindhoven University of Technology, Department of Mathematics and Computing Sciences, (1999)

  2. Adan, I., van der Wal, J.: Combining make to order and make to stock. OR Spektrum 20, 73–81 (1998)

    Article  Google Scholar 

  3. Artalejo, J.R., Economou, A., Lopez-Herrero, M.J.: Analysis of a multiserver queue with setup times. Queueing Syst. Theory Appl. 51(1–2), 53–76 (2005)

    Article  Google Scholar 

  4. Barroso, L.A., Hölzle, U.: The case for energy-proportional computing. IEEE Comput. 40(12), 33–37 (2007)

    Article  Google Scholar 

  5. Castellanos, M., Casati, F., Shan, M.-C., Dayal, U.: iBOM: A platform for intelligent business operation management. Proceedings of the 21st International Conference on Data Engineering. ICDE ’05, pp. 1084–1095. Tokyo, Japan (2005)

  6. DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., Vogels, W.: Dynamo: Amazon’s highly available key-value store. Proceedings of twenty-first ACM SIGOPS Symposium on Operating Systems Principles. SOSP ’07, pp. 205–220. Stevenson, WA (2007)

  7. Gandhi, A., Doroudi, S., Harchol-Balter, M., Scheller-Wolf, A.: Exact analysis of the M/M/k/setup class of Markov chains via recursive renewal reward. Technical Report CMU-CS-13-105, Carnegie Mellon University, (2013)

  8. Gandhi, A., Gupta, V., Harchol-Balter, M., Kozuch, M.: Optimality analysis of energy-performance trade-off for server farm management. Perform. Eval. 67, 1155–1171 (2010)

    Article  Google Scholar 

  9. Gandhi, A., Harchol-Balter, M.: How data center size impacts the effectiveness of dynamic power management. 49th Annual Allerton Conference on Communication, Control, and Computing, (2011)

  10. Gandhi, A., Harchol-Balter, M., Adan, I.: Server farms with setup costs. Perform. Eval. 67, 1123–1138 (2010)

    Article  Google Scholar 

  11. Gandhi, A., Harchol-Balter, M., Kozuch, M.: Are sleep states effective in data centers? 3rd IEEE International Green Computing Conference, (2012)

  12. Horvath, T., Skadron, K.: Multi-mode energy management for multi-tier server clusters. Proceedings of the 17th International Conference on Parallel Architectures and Compilation Techniques. PACT ’08, pp. 270–279. Canada, Toronto (2008)

  13. Keilson, J., Servi, L.: A distributional form of little’s law. Oper. Res. Lett. 7(5), 223–227 (1988)

    Article  Google Scholar 

  14. Kim, J., Rosing, T.S.: Power-aware resource management techniques for low-power embedded systems. In: Son, S.H., Lee, I., Leung, J.Y.-T. (eds.) Handbook of Real-Time and Embedded Systems. Taylor-Francis Group LLC, Boca Raton (2006)

    Google Scholar 

  15. Kleinrock, L.: Queueing Systems, Volume I: Theory. Wiley, New York (1975)

    Google Scholar 

  16. Krioukov, A., Mohan, P., Alspaugh, S., Keys, L., Culler, D., Katz, R.: NapSAC: design and implementation of a power-proportional web cluster. Proceedings of the First ACM SIGCOMM Workshop on Green Networking. Green Networking ’10, pp. 15–22. New Delhi, India (2010)

  17. Latouche, G., Ramaswami, V.: Introduction to Matrix Analytic Methods in Stochastic Modeling. ASA-SIAM, Philadelphia (1999)

    Book  Google Scholar 

  18. Levy, Y., Yechiali, U.: An M/M/s queue with servers’ vacations. INFOR 14, 153–163 (1976)

    Google Scholar 

  19. Meisner, D., Gold, B.T., Wenisch, T.F.: PowerNap: eliminating server idle power. In Proceeding of the 14th international conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’09, pages 205–216, Washington, DC, (2009)

  20. Mitrani, I.: Managing performance and power consumption in a server farm. Ann. Oper. Res. 202(1), 121–134 (2013)

    Google Scholar 

  21. Qin, W., Wang, Q.: Modeling and control design for performance management of web servers via an IPV approach. IEEE Trans. Control Syst. Technol. 15(2), 259–275 (2007)

    Article  Google Scholar 

  22. Riska, A., Smirni, E.: M/G/1-type Markov Processes: A Tutorial. Performance Evaluation of Complex Systems: Techniques and Tools, pp. 36–63. Springer, New York (2002)

    Chapter  Google Scholar 

  23. Tian, N., Li, Q.-L., Gao, J.: Conditional stochastic decompositions in the M/M/c queue with server vacations. Stoch. Models 15(2), 367–377 (1999)

    Article  Google Scholar 

  24. Van Houdt, B., van Leeuwaarden, J.: Triangular M/G/1-type and tree-like quasi-birth-death Markov chains. INFORMS J. Comput. 23(1), 165–171 (2011)

    Article  Google Scholar 

  25. Van Leeuwaarden, J., Winands, E.: Quasi-birth-and-death processes with an explicit rate matrix. Stoch. Models 22(1), 77–98 (2006)

    Article  Google Scholar 

  26. Welch, P.: On a generalized \(M/G/1\) queueing process in which the first customer of each busy period receives exceptional service. Oper. Res. 12, 736–752 (1964)

    Article  Google Scholar 

  27. Xu, X., Tian, N.: The M/M/c queue with (e, d) setup time. J. Syst. Sci. Complex. 21, 446–455 (2008)

    Article  Google Scholar 

  28. Zhang, Z.G., Tian, N.: Analysis on queueing systems with synchronous vacations of partial servers. Perform. Eval. 52(4), 269–282 (2003)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Anshul Gandhi.

Appendices

Appendix 1: Recursion lemmas

Lemma 1

(Recursion lemma for mean time) For the M/M/k/setup, the mean time to move one step left from state \((i,j)\), \(T^{L}_{i,j}\), is the same for all \(j \ge k\).

Proof

For any \(j\ge k\), observe that when moving one step left from any state \((i,j)\), we only visit states with level \(j\) or greater, until the final transition to level \(j-1\). Hence, \(T^{L}_{i,j}\) depends only on the structure of the “subchain” of the M/M/k/setup consisting of levels \(\{j,j+1,\ldots \}\), including transition rates to level \(j-1\). Now consider the subchain for each \(j\ge k\); these subchains are isomorphic, by the fact that the chain is repeating from level \(k\) onward. Hence, the time to move one step left is the same regardless of the initial level \(j\ge k\). \(\square \)

Lemma 2

(Recursion lemma for mean reward) For the M/M/k/setup, the mean reward earned in moving one step left from state \((i,j+1)\), \(R^L_{i,j+1}\), satisfies \(R^{L}_{i,j+1} = R^{L}_{i,j} + T^{L}_{i,j}\) for all \(j \ge k\), where the reward tracks the number of jobs in the system.

Proof

Consider the process of moving one step left from a given state \((i,j)\) where \(j\ge k\). At the same time, consider the same process where everything is shifted over one level to the right, so that the initial state is \((i,j+1)\) At any point in time, the number of jobs seen by the second process is exactly one greater than that seen by the first process. Therefore, the total number of jobs accumulated (total reward) during the second process is \(T_{i,j}^L\) greater than that of the first process, since the duration of both processes is \(T_{i,j}^L\) by Lemma 1.\(\square \)

Lemma 3

(Recursion lemma for transform of reward) For the M/M/k/setup, \(\dot{R}^{L}_{i,j+1} = z\cdot \dot{R}^{L}_{i,j}\), for all \(j \ge k\), where \(\dot{R}\) tracks the z-transform of the number of jobs in the system.

Proof

The proof is identical to that of Lemma 2, except that in any moment in time the second process (starting in level \((i,j+1)\)) earns \(z\) times as much reward as the first process (starting at \((i,j)\)).\(\square \)

Lemma 4

(Recursion lemma for transform of power) For the M/M/k/setup, \(\dot{E}^{L}_{i,j+1} = \dot{E}^{L}_{i,j} = T^{L}_{i,j} \cdot z^{k \cdot P_\mathrm{peak}}\), for all \(j \ge k\).

Proof

When \(j\ge k\), all \(k\) servers are either on or in setup, putting power consumption at \(k\cdot P_\mathrm{peak}\). So the transform of power usage is \(z^{k\cdot P_\mathrm{peak}}\), yielding \(\dot{E}^L_{i,j} = T^{L}_{i,j}\cdot z^{k\cdot P_\mathrm{peak}}\). It then follows immediately from Lemma 1 that \(\dot{E}^{L}_{i,j+1} = \dot{E}^{L}_{i,j}\).\(\square \)

Lemma 5

(Recursion lemma for probability) For the M/M/k/setup, for each \(0 \le d \le k\) and for each \(0 \le i \le k\), \(p^{L}_{i \rightarrow d}\) is the same for all \(j \ge k\).

Proof

Recall that \(p^{L}_{i\rightarrow d}\) is the probability that, given that we start at depth \(i\), we end at depth \(d\) when moving one step to the left, except when \(j=k\) and \(d\in \{k-1,k\}\); in these cases we interpret \(p_{i\rightarrow k}^L\) (or \(p_{i\rightarrow k-1}^L\)) as the probabilities that we first moved one step left by transitioning out of a state in depth \(k\) (or \(k-1\)).

As with \(T^{L}_{i,j}\), \(p^{L}_{i\rightarrow d}\) depends only on the structure of the “subchain” consisting of levels \(\{j,j+1,\ldots \}\), including transition rates to level \(j-1\). Since for all \(j\ge k\) the resulting subchains are isomorphic, \(p^{L}_{i\rightarrow d}\) must be the same for all \(j\ge k\).\(\square \)

Appendix 2: Solution of the system of equations for M/M/k/setup

The steps below illustrate how to solve the system of equations for M/M/k/setup. All of the operations in the steps below can be performed symbolically to obtain closed-form results.

1.1 Solving for \({p^{L}_{i \rightarrow d}}\)

The system of equations for \(p^{L}_{i \rightarrow d}\) consists of equation sets (28), (29) and (30). Equation (28) are \(k\) quadratic equations, each in one variable: \(p_{0\rightarrow 0}^L,p_{1\rightarrow 1}^L,\ldots ,p_{k-2\rightarrow k-2}^L\), \(p_{k-1\rightarrow k-1}^L\). Thus, we can solve each equation easily using the quadratic formula. It can be easily shown that among the two roots of each equation, the greater root exceeds 1, and is thus disregarded. The lesser root can be shown to lie in the interval \([0,1)\), making it the unique solution of interest to the quadratic equation. Note that \(p_{0\rightarrow 0}^L=0\), as expected (we cannot move to the left when we have no servers on).

The set of equations (29) is a collection of \(O(k^2)\) equations involving linear terms and products of two unlike variables. However, the structure of this system of equations reduces solving the system to solving a set of linear equations via back substitution. Consider solving this set of equations for the unknown values of \(p_{i\rightarrow d}^L\) in this order:

$$\begin{aligned} p_{k-1\rightarrow k-1}^L, p_{k-2\rightarrow k-2}^L, p_{k-2\rightarrow k-1}^L, \ldots , p_{0\rightarrow 1}^L\, p_{0\rightarrow 2}^L, \ldots , p_{0\rightarrow k-1}^L \end{aligned}$$

That is, solving from greatest (\(k-1\)) to least (\(0\)) “original depth,” but within each original depth, solving from least to greatest “target depth.” Solving in this order, each equation we solve will only have one unknown, as all other variables will already have been solved for in an earlier step (including the \(p_{i\rightarrow i}^L\) from Eq. (28)), so these variables can be viewed as coefficients and constant terms. Once we have solved Eq. (29), we can easily solve Eq. (30), yielding \(p_{0\rightarrow k}^L,p_{1\rightarrow k}^L,\ldots ,p_{k-1\rightarrow k}^L\), by taking complements. It follows that all \(p^{L}_{i \rightarrow d}\) can be solved in closed forms that are, at worst, linear combinations of radicals (i.e., square roots).

1.2 Solving for \({\dot{R}_{i,k}^L}\)

The system of equations for \(\dot{R}_{i,k}^L\) consists of Eqs. (31) and (32), and  (33). This system is a collection of \((k+1)\) linear equations with \((k+1)\) unknowns. Although we could solve this system using standard linear algebraic techniques, the structure of this system suggests an even simpler approach using back substitution. Solving for each \(\dot{R}_{i,k}^L\) only requires knowing the \(\dot{R}_{i,\ell }^L\) such that \(\ell \in \{i+1,\ldots ,k\}\). Equation (33) readily gives us \(\dot{R}_{k,k}^L\). Thus, we can now solve for \(\dot{R}_{k-1,k}^L\), then \(\dot{R}_{k-2,k}^L\), and so on. In this way, each \(\dot{R}_{i,k}^L\) is found by solving a linear equation for one unknown variable.

1.3 Solving for \({\dot{R}_{i,j}^H}\)

The system of equations for \(\dot{R}_{i,j}^H\) consists of Eqs. (34), (35), (36) and (37), and  (38). This system is a collection of \(O(k^2)\) dependent linear equations with just as many unknowns. Unlike the earlier systems of equations, there is no apparent structure we can exploit, so the system can be solved via standard linear algebraic techniques such as (symbolic) matrix inversion.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Gandhi, A., Doroudi, S., Harchol-Balter, M. et al. Exact analysis of the M/M/k/setup class of Markov chains via recursive renewal reward. Queueing Syst 77, 177–209 (2014). https://doi.org/10.1007/s11134-014-9409-7

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11134-014-9409-7

Keywords

Mathematics Subject Classification

Navigation