SMCSolver and Q-MAM: tools for matrix-analytic methods

  • Authors:
  • D. Bini;B. Meini;S. Steffé;J. F. Pérez;B. Van Houdt

  • Affiliations:
  • Universita' di Pisa, Pisa, Italy;Universita' di Pisa, Pisa, Italy;Universita' di Pisa, Pisa, Italy;Universidad de los Andes, Bogotá, Colombia;University of Antwerp, Antwerp, Belgium

  • Venue:
  • ACM SIGMETRICS Performance Evaluation Review
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Matrix-analytic methods have advanced considerably since the pioneering work of Marcel Neuts [6, 5] on Quasi-Birth-Death (QBD), GI/M/1- and M/G/1- type Markov chains (MCs). Especially the algorithms involved to (iteratively) solve these structured Markov chains have matured a lot, which has resulted in more efficient, but also more complex algorithms [4, 1]. While the first algorithms were straightforward to implement---as they were based on simple functional iterations---more advanced algorithms/features like cyclic-reduction, the Newton iteration or the shift technique (to accelerate convergence), require more effort; in particular for GI/M/1- and M/G/1-type Markov chains. This has motivated us to develop the Structured Markov Chain Solver (SMCSolver) tool [2], which implements a large number of basic and more advanced algorithms for solving QBD, GI/M/1- and M/G/1-type MCs1 (as well as the more general Non-Skip-Free M/G/1-type MCs). The MATLAB version of the tool consists of a collection of MATLAB functions, while the Fortran version is accompanied by a graphical user-interface (GUI). Apart from making these more advanced algorithms accessible to non-specialists, the tool is also useful as a platform for the development and study of new algorithms and acceleration techniques. Since its initial release in 2006, various extensions have been made. In [3] different transformation techniques and shift strategies are incorporated in order to speed up and optimize the algorithms, while even more recently an efficient Newton iteration for GI/M/1- and M/G/1-type Markov chains was included [8]. Matrix-analytic methods have also been very effective in the analysis of many queueing systems in both discrete- and continuous-time. The Q-MAM tool [7] is a collection of MATLAB functions that allows one to compute the queue length, waiting time and delay distribution of various queueing systems of infinite size. It includes amongst others implementations of the PH/PH/1, MAP/MAP/1, MAP/M/c, MAP/D/c, RAP/RAP/1, MMAP[K]/PH[K]/1, MMAP[K]/SM[K]/1, SM[K]/PH[K]/1 (many in both discrete- and continuous-time), where state-of-the-art solution techniques are used to solve these models efficiently. The Matlab version of the SMCSolver and Q-MAM tool is available at http://win.ua.ac.be/?vanhoudt/ while the Fortran 90 version of the SMCSolver tool with the GUI can be downloaded from http://bezout.dm.unipi.it/SMCSolver.