From: <mma...@us...> - 2012-03-10 16:03:56
|
Revision: 9808 http://octave.svn.sourceforge.net/octave/?rev=9808&view=rev Author: mmarzolla Date: 2012-03-10 16:03:47 +0000 (Sat, 10 Mar 2012) Log Message: ----------- fixed bug in texinfo documentation Modified Paths: -------------- trunk/octave-forge/main/queueing/doc/queueing.html trunk/octave-forge/main/queueing/doc/queueing.pdf trunk/octave-forge/main/queueing/inst/ctmc_exps.m Modified: trunk/octave-forge/main/queueing/doc/queueing.html =================================================================== --- trunk/octave-forge/main/queueing/doc/queueing.html 2012-03-10 16:00:45 UTC (rev 9807) +++ trunk/octave-forge/main/queueing/doc/queueing.html 2012-03-10 16:03:47 UTC (rev 9808) @@ -1100,36 +1100,46 @@ <p><a name="doc_002dctmc_005fexps"></a> <div class="defun"> -— Function File: <var>L</var> = <b>ctmc_exps</b> (<var>Q, tt, p</var>)<var><a name="index-ctmc_005fexps-20"></a></var><br> +— Function File: <var>L</var> = <b>ctmc_exps</b> (<var>Q, tt, p </var>)<var><a name="index-ctmc_005fexps-20"></a></var><br> +— Function File: <var>L</var> = <b>ctmc_exps</b> (<var>Q, p</var>)<var><a name="index-ctmc_005fexps-21"></a></var><br> <blockquote> - <p><a name="index-Markov-chain_002c-continuous-time-21"></a><a name="index-Expected-sojourn-time-22"></a> -Compute the expected total time <var>L</var><code>(t,j)</code> spent in state -j during the time interval <code>[0,</code><var>tt</var><code>(t))</code>, assuming -that at time 0 the state occupancy probability was <var>p</var>. + <p><a name="index-Markov-chain_002c-continuous-time-22"></a><a name="index-Expected-sojourn-time-23"></a> +With three arguments, compute the expected time <var>L</var><code>(t,j)</code> +spent in each state j during the time interval +<code>[0,</code><var>tt</var><code>(t))</code>, assuming that at time 0 the state occupancy +probability was <var>p</var>. With two arguments, compute the expected +time <var>L</var><code>(j)</code> spent in each state j until absorption. <p><strong>INPUTS</strong> <dl> -<dt><var>Q</var><dd>Infinitesimal generator matrix. <var>Q</var><code>(i,j)</code> is the transition -rate from state i to state j, -1 ≤ i \neq j ≤ N. The matrix <var>Q</var> must also satisfy the -condition <code>sum(</code><var>Q</var><code>,2) == 0</code> +<dt><var>Q</var><dd>N \times N infinitesimal generator matrix. <var>Q</var><code>(i,j)</code> +is the transition rate from state i to state j, 1 +≤ i \neq j ≤ N. The matrix <var>Q</var> must also satisfy the +condition \sum_j=1^N Q_ij = 0. <br><dt><var>tt</var><dd>This parameter is a vector used for numerical integration. The first element <var>tt</var><code>(1)</code> must be 0, and the last element <var>tt</var><code>(end)</code> must be the upper bound of the interval [0,t) of interest (<var>tt</var><code>(end) == t</code>). - <br><dt><var>p</var><dd><var>p</var><code>(i)</code> is the probability that at time 0 the system was in -state i, for all i = 1, <small class="dots">...</small>, N + <br><dt><var>p</var><dd>Initial occupancy probability vector; <var>p</var><code>(i)</code> is the +probability the system is in state i at time 0, i = 1, +<small class="dots">...</small>, N </dl> <p><strong>OUTPUTS</strong> <dl> -<dt><var>L</var><dd><var>L</var><code>(t,j)</code> is the expected time spent in state j -during the interval <code>[0,</code><var>tt</var><code>(t))</code>. <code>1 ≤ </code><var>t</var><code> ≤ length(</code><var>tt</var><code>)</code> +<dt><var>L</var><dd>If this function is called with three arguments, <var>L</var> is a matrix +of size <code>[length(</code><var>tt</var><code>), N]</code> where <var>L</var><code>(t,j)</code> is the +expected time spent in state j during the interval +<code>[0,</code><var>tt</var><code>(t)]</code>. If this function is called with two +arguments, <var>L</var> is a vector with N elements where +<var>L</var><code>(j)</code> is the expected time spent in state j until +absorption, if j is a transient state. If j +is an absorbing state, <var>L</var><code>(j) = 0</code>. </dl> @@ -1175,9 +1185,9 @@ <p><a name="doc_002dctmc_005ftaexps"></a> <div class="defun"> -— Function File: <var>M</var> = <b>ctmc_taexps</b> (<var>Q, tt, p</var>)<var><a name="index-ctmc_005ftaexps-23"></a></var><br> +— Function File: <var>M</var> = <b>ctmc_taexps</b> (<var>Q, tt, p</var>)<var><a name="index-ctmc_005ftaexps-24"></a></var><br> <blockquote> - <p><a name="index-Markov-chain_002c-continuous-time-24"></a><a name="index-Time_002dalveraged-sojourn-time-25"></a> + <p><a name="index-Markov-chain_002c-continuous-time-25"></a><a name="index-Time_002dalveraged-sojourn-time-26"></a> Compute the <em>time-averaged sojourn time</em> <var>M</var><code>(t,j)</code>, defined as the fraction of the time interval <code>[0,</code><var>tt</var><code>(t))</code> spent in state j, assuming that at time 0 the state occupancy @@ -1264,12 +1274,13 @@ <p><a name="doc_002dctmc_005fmtta"></a> <div class="defun"> -— Function File: <var>t</var> = <b>ctmc_mtta</b> (<var>Q, p</var>)<var><a name="index-ctmc_005fmtta-26"></a></var><br> +— Function File: <var>t</var> = <b>ctmc_mtta</b> (<var>Q, p</var>)<var><a name="index-ctmc_005fmtta-27"></a></var><br> <blockquote> - <p><a name="index-Markov-chain_002c-continuous-time-27"></a><a name="index-Mean-time-to-absorption-28"></a> -Compute the Mean-Time to Absorption (MTTA) starting from initial -occupancy probability <var>p</var> at time 0. If there are no absorbing -states, this function fails with an error. + <p><a name="index-Markov-chain_002c-continuous-time-28"></a><a name="index-Mean-time-to-absorption-29"></a> +Compute the Mean-Time to Absorption (MTTA) of the CTMC described by +the infinitesimal generator matrix <var>Q</var>, starting from initial +occupancy probability <var>p</var>. If there are no absorbing states, this +function fails with an error. <p><strong>INPUTS</strong> @@ -1326,7 +1337,7 @@ Performance Evaluation with Computer Science Applications</cite>, Wiley, 1998. - <p><a name="index-Bolch_002c-G_002e-29"></a><a name="index-Greiner_002c-S_002e-30"></a><a name="index-de-Meer_002c-H_002e-31"></a><a name="index-Trivedi_002c-K_002e-32"></a> + <p><a name="index-Bolch_002c-G_002e-30"></a><a name="index-Greiner_002c-S_002e-31"></a><a name="index-de-Meer_002c-H_002e-32"></a><a name="index-Trivedi_002c-K_002e-33"></a> <div class="node"> <a name="CTMC-First-Passage-Times"></a> <p><hr> @@ -1340,10 +1351,10 @@ <p><a name="doc_002dctmc_005ffpt"></a> <div class="defun"> -— Function File: <var>M</var> = <b>ctmc_fpt</b> (<var>Q</var>)<var><a name="index-ctmc_005ffpt-33"></a></var><br> -— Function File: <var>m</var> = <b>ctmc_fpt</b> (<var>Q, i, j</var>)<var><a name="index-ctmc_005ffpt-34"></a></var><br> +— Function File: <var>M</var> = <b>ctmc_fpt</b> (<var>Q</var>)<var><a name="index-ctmc_005ffpt-34"></a></var><br> +— Function File: <var>m</var> = <b>ctmc_fpt</b> (<var>Q, i, j</var>)<var><a name="index-ctmc_005ffpt-35"></a></var><br> <blockquote> - <p><a name="index-Markov-chain_002c-continuous-time-35"></a><a name="index-First-passage-times-36"></a> + <p><a name="index-Markov-chain_002c-continuous-time-36"></a><a name="index-First-passage-times-37"></a> If called with a single argument, computes the mean first passage times <var>M</var><code>(i,j)</code>, the average times before state <var>j</var> is reached, starting from state <var>i</var>, for all 1 \leq i, j \leq @@ -1449,9 +1460,9 @@ <p><a name="doc_002dqnmm1"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>p0</var>] = <b>qnmm1</b> (<var>lambda, mu</var>)<var><a name="index-qnmm1-37"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>p0</var>] = <b>qnmm1</b> (<var>lambda, mu</var>)<var><a name="index-qnmm1-38"></a></var><br> <blockquote> - <p><a name="index-g_t_0040math_007bM_002fM_002f1_007d-system-38"></a> + <p><a name="index-g_t_0040math_007bM_002fM_002f1_007d-system-39"></a> Compute utilization, response time, average number of requests and throughput for a M/M/1 queue. @@ -1496,7 +1507,7 @@ and Markov Chains: Modeling and Performance Evaluation with Computer Science Applications</cite>, Wiley, 1998, Section 6.3. - <p><a name="index-Bolch_002c-G_002e-39"></a><a name="index-Greiner_002c-S_002e-40"></a><a name="index-de-Meer_002c-H_002e-41"></a><a name="index-Trivedi_002c-K_002e-42"></a> + <p><a name="index-Bolch_002c-G_002e-40"></a><a name="index-Greiner_002c-S_002e-41"></a><a name="index-de-Meer_002c-H_002e-42"></a><a name="index-Trivedi_002c-K_002e-43"></a> <!-- M/M/m --> <div class="node"> <a name="The-M%2fM%2fm-System"></a> @@ -1522,10 +1533,10 @@ <p><a name="doc_002dqnmmm"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>p0</var>, <var>pm</var>] = <b>qnmmm</b> (<var>lambda, mu</var>)<var><a name="index-qnmmm-43"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>p0</var>, <var>pm</var>] = <b>qnmmm</b> (<var>lambda, mu, m</var>)<var><a name="index-qnmmm-44"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>p0</var>, <var>pm</var>] = <b>qnmmm</b> (<var>lambda, mu</var>)<var><a name="index-qnmmm-44"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>p0</var>, <var>pm</var>] = <b>qnmmm</b> (<var>lambda, mu, m</var>)<var><a name="index-qnmmm-45"></a></var><br> <blockquote> - <p><a name="index-g_t_0040math_007bM_002fM_002fm_007d-system-45"></a> + <p><a name="index-g_t_0040math_007bM_002fM_002fm_007d-system-46"></a> Compute utilization, response time, average number of requests in service and throughput for a M/M/m queue, a queueing system with m identical service centers connected to a single queue. @@ -1577,7 +1588,7 @@ and Markov Chains: Modeling and Performance Evaluation with Computer Science Applications</cite>, Wiley, 1998, Section 6.5. - <p><a name="index-Bolch_002c-G_002e-46"></a><a name="index-Greiner_002c-S_002e-47"></a><a name="index-de-Meer_002c-H_002e-48"></a><a name="index-Trivedi_002c-K_002e-49"></a> + <p><a name="index-Bolch_002c-G_002e-47"></a><a name="index-Greiner_002c-S_002e-48"></a><a name="index-de-Meer_002c-H_002e-49"></a><a name="index-Trivedi_002c-K_002e-50"></a> <!-- M/M/inf --> <div class="node"> <a name="The-M%2fM%2finf-System"></a> @@ -1600,7 +1611,7 @@ <p><a name="doc_002dqnmminf"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>p0</var>] = <b>qnmminf</b> (<var>lambda, mu</var>)<var><a name="index-qnmminf-50"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>p0</var>] = <b>qnmminf</b> (<var>lambda, mu</var>)<var><a name="index-qnmminf-51"></a></var><br> <blockquote> <p>Compute utilization, response time, average number of requests and throughput for a M/M/\infty queue. This is a system with an @@ -1608,7 +1619,7 @@ system is always stable, regardless the values of the arrival and service rates. - <p><a name="index-g_t_0040math_007bM_002fM_002f_007dinf-system-51"></a> + <p><a name="index-g_t_0040math_007bM_002fM_002f_007dinf-system-52"></a> <p><strong>INPUTS</strong> @@ -1626,7 +1637,7 @@ different from the utilization, which in the case of M/M/\infty centers is always zero. - <p><a name="index-traffic-intensity-52"></a> + <p><a name="index-traffic-intensity-53"></a> <br><dt><var>R</var><dd>Service center response time. <br><dt><var>Q</var><dd>Average number of requests in the system (which is equal to the @@ -1654,7 +1665,7 @@ and Markov Chains: Modeling and Performance Evaluation with Computer Science Applications</cite>, Wiley, 1998, Section 6.4. - <p><a name="index-Bolch_002c-G_002e-53"></a><a name="index-Greiner_002c-S_002e-54"></a><a name="index-de-Meer_002c-H_002e-55"></a><a name="index-Trivedi_002c-K_002e-56"></a> + <p><a name="index-Bolch_002c-G_002e-54"></a><a name="index-Greiner_002c-S_002e-55"></a><a name="index-de-Meer_002c-H_002e-56"></a><a name="index-Trivedi_002c-K_002e-57"></a> <!-- M/M/1/k --> <div class="node"> <a name="The-M%2fM%2f1%2fK-System"></a> @@ -1678,9 +1689,9 @@ <p><a name="doc_002dqnmm1k"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>p0</var>, <var>pK</var>] = <b>qnmm1k</b> (<var>lambda, mu, K</var>)<var><a name="index-qnmm1k-57"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>p0</var>, <var>pK</var>] = <b>qnmm1k</b> (<var>lambda, mu, K</var>)<var><a name="index-qnmm1k-58"></a></var><br> <blockquote> - <p><a name="index-g_t_0040math_007bM_002fM_002f1_002fK_007d-system-58"></a> + <p><a name="index-g_t_0040math_007bM_002fM_002f1_002fK_007d-system-59"></a> Compute utilization, response time, average number of requests and throughput for a M/M/1/K finite capacity system. In a M/M/1/K queue there is a single server; the maximum number of @@ -1747,9 +1758,9 @@ <p><a name="doc_002dqnmmmk"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>p0</var>, <var>pK</var>] = <b>qnmmmk</b> (<var>lambda, mu, m, K</var>)<var><a name="index-qnmmmk-59"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>p0</var>, <var>pK</var>] = <b>qnmmmk</b> (<var>lambda, mu, m, K</var>)<var><a name="index-qnmmmk-60"></a></var><br> <blockquote> - <p><a name="index-g_t_0040math_007bM_002fM_002fm_002fK_007d-system-60"></a> + <p><a name="index-g_t_0040math_007bM_002fM_002fm_002fK_007d-system-61"></a> Compute utilization, response time, average number of requests and throughput for a M/M/m/K finite capacity system. In a M/M/m/K system there are m \geq 1 identical service @@ -1807,7 +1818,7 @@ and Markov Chains: Modeling and Performance Evaluation with Computer Science Applications</cite>, Wiley, 1998, Section 6.6. - <p><a name="index-Bolch_002c-G_002e-61"></a><a name="index-Greiner_002c-S_002e-62"></a><a name="index-de-Meer_002c-H_002e-63"></a><a name="index-Trivedi_002c-K_002e-64"></a> + <p><a name="index-Bolch_002c-G_002e-62"></a><a name="index-Greiner_002c-S_002e-63"></a><a name="index-de-Meer_002c-H_002e-64"></a><a name="index-Trivedi_002c-K_002e-65"></a> <!-- Approximate M/M/m --> <div class="node"> @@ -1829,9 +1840,9 @@ <p><a name="doc_002dqnammm"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnammm</b> (<var>lambda, mu</var>)<var><a name="index-qnammm-65"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnammm</b> (<var>lambda, mu</var>)<var><a name="index-qnammm-66"></a></var><br> <blockquote> - <p><a name="index-Asymmetric-_0040math_007bM_002fM_002fm_007d-system-66"></a> + <p><a name="index-Asymmetric-_0040math_007bM_002fM_002fm_007d-system-67"></a> Compute <em>approximate</em> utilization, response time, average number of requests in service and throughput for an asymmetric M/M/m queue. In this system there are m different service centers @@ -1878,7 +1889,7 @@ and Markov Chains: Modeling and Performance Evaluation with Computer Science Applications</cite>, Wiley, 1998 - <p><a name="index-Bolch_002c-G_002e-67"></a><a name="index-Greiner_002c-S_002e-68"></a><a name="index-de-Meer_002c-H_002e-69"></a><a name="index-Trivedi_002c-K_002e-70"></a> + <p><a name="index-Bolch_002c-G_002e-68"></a><a name="index-Greiner_002c-S_002e-69"></a><a name="index-de-Meer_002c-H_002e-70"></a><a name="index-Trivedi_002c-K_002e-71"></a> <div class="node"> <a name="The-M%2fG%2f1-System"></a> <a name="The-M_002fG_002f1-System"></a> @@ -1894,9 +1905,9 @@ <p><a name="doc_002dqnmg1"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>p0</var>] = <b>qnmg1</b> (<var>lambda, xavg, x2nd</var>)<var><a name="index-qnmg1-71"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>p0</var>] = <b>qnmg1</b> (<var>lambda, xavg, x2nd</var>)<var><a name="index-qnmg1-72"></a></var><br> <blockquote> - <p><a name="index-g_t_0040math_007bM_002fG_002f1_007d-system-72"></a> + <p><a name="index-g_t_0040math_007bM_002fG_002f1_007d-system-73"></a> Compute utilization, response time, average number of requests and throughput for a M/G/1 system. The service time distribution is described by its mean <var>xavg</var>, and by its second moment @@ -1953,9 +1964,9 @@ <p><a name="doc_002dqnmh1"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>p0</var>] = <b>qnmh1</b> (<var>lambda, mu, alpha</var>)<var><a name="index-qnmh1-73"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>p0</var>] = <b>qnmh1</b> (<var>lambda, mu, alpha</var>)<var><a name="index-qnmh1-74"></a></var><br> <blockquote> - <p><a name="index-g_t_0040math_007bM_002fH_005fm_002f1_007d-system-74"></a> + <p><a name="index-g_t_0040math_007bM_002fH_005fm_002f1_007d-system-75"></a> Compute utilization, response time, average number of requests and throughput for a M/H_m/1 system. In this system, the customer service times have hyper-exponential distribution: @@ -2037,7 +2048,7 @@ <li><a accesskey="6" href="#Utility-functions">Utility functions</a>: Utility functions to compute miscellaneous quantities </ul> -<p><a name="index-queueing-networks-75"></a> +<p><a name="index-queueing-networks-76"></a> <!-- INTRODUCTION --> <div class="node"> <a name="Introduction-to-QNs"></a> @@ -2298,13 +2309,13 @@ <p><a name="doc_002dqnmknode"></a> <div class="defun"> -— Function File: <var>Q</var> = <b>qnmknode</b> (<var>"m/m/m-fcfs", S</var>)<var><a name="index-qnmknode-76"></a></var><br> -— Function File: <var>Q</var> = <b>qnmknode</b> (<var>"m/m/m-fcfs", S, m</var>)<var><a name="index-qnmknode-77"></a></var><br> -— Function File: <var>Q</var> = <b>qnmknode</b> (<var>"m/m/1-lcfs-pr", S</var>)<var><a name="index-qnmknode-78"></a></var><br> -— Function File: <var>Q</var> = <b>qnmknode</b> (<var>"-/g/1-ps", S</var>)<var><a name="index-qnmknode-79"></a></var><br> -— Function File: <var>Q</var> = <b>qnmknode</b> (<var>"-/g/1-ps", S, s2</var>)<var><a name="index-qnmknode-80"></a></var><br> -— Function File: <var>Q</var> = <b>qnmknode</b> (<var>"-/g/inf", S</var>)<var><a name="index-qnmknode-81"></a></var><br> -— Function File: <var>Q</var> = <b>qnmknode</b> (<var>"-/g/inf", S, s2</var>)<var><a name="index-qnmknode-82"></a></var><br> +— Function File: <var>Q</var> = <b>qnmknode</b> (<var>"m/m/m-fcfs", S</var>)<var><a name="index-qnmknode-77"></a></var><br> +— Function File: <var>Q</var> = <b>qnmknode</b> (<var>"m/m/m-fcfs", S, m</var>)<var><a name="index-qnmknode-78"></a></var><br> +— Function File: <var>Q</var> = <b>qnmknode</b> (<var>"m/m/1-lcfs-pr", S</var>)<var><a name="index-qnmknode-79"></a></var><br> +— Function File: <var>Q</var> = <b>qnmknode</b> (<var>"-/g/1-ps", S</var>)<var><a name="index-qnmknode-80"></a></var><br> +— Function File: <var>Q</var> = <b>qnmknode</b> (<var>"-/g/1-ps", S, s2</var>)<var><a name="index-qnmknode-81"></a></var><br> +— Function File: <var>Q</var> = <b>qnmknode</b> (<var>"-/g/inf", S</var>)<var><a name="index-qnmknode-82"></a></var><br> +— Function File: <var>Q</var> = <b>qnmknode</b> (<var>"-/g/inf", S, s2</var>)<var><a name="index-qnmknode-83"></a></var><br> <blockquote> <p>Creates a node; this function can be used together with <code>qnsolve</code>. It is possible to create either single-class nodes @@ -2373,10 +2384,10 @@ <p><a name="doc_002dqnsolve"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnsolve</b> (<var>"closed", N, QQ, V</var>)<var><a name="index-qnsolve-83"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnsolve</b> (<var>"closed", N, QQ, V, Z</var>)<var><a name="index-qnsolve-84"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnsolve</b> (<var>"open", lambda, QQ, V</var>)<var><a name="index-qnsolve-85"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnsolve</b> (<var>"mixed", lambda, N, QQ, V</var>)<var><a name="index-qnsolve-86"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnsolve</b> (<var>"closed", N, QQ, V</var>)<var><a name="index-qnsolve-84"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnsolve</b> (<var>"closed", N, QQ, V, Z</var>)<var><a name="index-qnsolve-85"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnsolve</b> (<var>"open", lambda, QQ, V</var>)<var><a name="index-qnsolve-86"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnsolve</b> (<var>"mixed", lambda, N, QQ, V</var>)<var><a name="index-qnsolve-87"></a></var><br> <blockquote> <p>General evaluator of QN models. Networks can be open, closed or mixed; single as well as multiclass networks are supported. @@ -2554,11 +2565,11 @@ <p><a name="doc_002dqnjackson"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnjackson</b> (<var>lambda, S, P </var>)<var><a name="index-qnjackson-87"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnjackson</b> (<var>lambda, S, P, m </var>)<var><a name="index-qnjackson-88"></a></var><br> -— Function File: <var>pr</var> = <b>qnjackson</b> (<var>lambda, S, P, m, k</var>)<var><a name="index-qnjackson-89"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnjackson</b> (<var>lambda, S, P </var>)<var><a name="index-qnjackson-88"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnjackson</b> (<var>lambda, S, P, m </var>)<var><a name="index-qnjackson-89"></a></var><br> +— Function File: <var>pr</var> = <b>qnjackson</b> (<var>lambda, S, P, m, k</var>)<var><a name="index-qnjackson-90"></a></var><br> <blockquote> - <p><a name="index-open-network_002c-single-class-90"></a><a name="index-Jackson-network-91"></a> + <p><a name="index-open-network_002c-single-class-91"></a><a name="index-Jackson-network-92"></a> With three or four input parameters, this function computes the steady-state occupancy probabilities for a Jackson network. With five input parameters, this function computes the steady-state probability @@ -2640,7 +2651,7 @@ Performance Evaluation with Computer Science Applications</cite>, Wiley, 1998, pp. 284–287. - <p><a name="index-Bolch_002c-G_002e-92"></a><a name="index-Greiner_002c-S_002e-93"></a><a name="index-de-Meer_002c-H_002e-94"></a><a name="index-Trivedi_002c-K_002e-95"></a> + <p><a name="index-Bolch_002c-G_002e-93"></a><a name="index-Greiner_002c-S_002e-94"></a><a name="index-de-Meer_002c-H_002e-95"></a><a name="index-Trivedi_002c-K_002e-96"></a> <h4 class="subsection">6.3.2 The Convolution Algorithm</h4> @@ -2674,10 +2685,10 @@ <p><a name="doc_002dqnconvolution"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>G</var>] = <b>qnconvolution</b> (<var>N, S, V</var>)<var><a name="index-qnconvolution-96"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>G</var>] = <b>qnconvolution</b> (<var>N, S, V, m</var>)<var><a name="index-qnconvolution-97"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>G</var>] = <b>qnconvolution</b> (<var>N, S, V</var>)<var><a name="index-qnconvolution-97"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>G</var>] = <b>qnconvolution</b> (<var>N, S, V, m</var>)<var><a name="index-qnconvolution-98"></a></var><br> <blockquote> - <p><a name="index-closed-network-98"></a><a name="index-normalization-constant-99"></a><a name="index-convolution-algorithm-100"></a> + <p><a name="index-closed-network-99"></a><a name="index-normalization-constant-100"></a><a name="index-convolution-algorithm-101"></a> This function implements the <em>convolution algorithm</em> for computing steady-state performance measures of product-form, single-class closed queueing networks. Load-independent service @@ -2768,20 +2779,20 @@ 16, number 9, september 1973, pp. 527–531. <a href="http://doi.acm.org/10.1145/362342.362345">http://doi.acm.org/10.1145/362342.362345</a> - <p><a name="index-Buzen_002c-J_002e-P_002e-101"></a> + <p><a name="index-Buzen_002c-J_002e-P_002e-102"></a> This implementation is based on G. Bolch, S. Greiner, H. de Meer and K. Trivedi, <cite>Queueing Networks and Markov Chains: Modeling and Performance Evaluation with Computer Science Applications</cite>, Wiley, 1998, pp. 313–317. - <p><a name="index-Bolch_002c-G_002e-102"></a><a name="index-Greiner_002c-S_002e-103"></a><a name="index-de-Meer_002c-H_002e-104"></a><a name="index-Trivedi_002c-K_002e-105"></a> + <p><a name="index-Bolch_002c-G_002e-103"></a><a name="index-Greiner_002c-S_002e-104"></a><a name="index-de-Meer_002c-H_002e-105"></a><a name="index-Trivedi_002c-K_002e-106"></a> <!-- Convolution for load-dependent service centers --> <a name="doc_002dqnconvolutionld"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>G</var>] = <b>qnconvolutionld</b> (<var>N, S, V</var>)<var><a name="index-qnconvolutionld-106"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>G</var>] = <b>qnconvolutionld</b> (<var>N, S, V</var>)<var><a name="index-qnconvolutionld-107"></a></var><br> <blockquote> - <p><a name="index-closed-network-107"></a><a name="index-normalization-constant-108"></a><a name="index-convolution-algorithm-109"></a><a name="index-load_002ddependent-service-center-110"></a> + <p><a name="index-closed-network-108"></a><a name="index-normalization-constant-109"></a><a name="index-convolution-algorithm-110"></a><a name="index-load_002ddependent-service-center-111"></a> This function implements the <em>convolution algorithm</em> for product-form, single-class closed queueing networks with general load-dependent service centers. @@ -2841,7 +2852,7 @@ Purdue University, feb, 1981 (revised). <a href="http://www.cs.purdue.edu/research/technical_reports/1980/TR%2080-354.pdf">http://www.cs.purdue.edu/research/technical_reports/1980/TR%2080-354.pdf</a> - <p><a name="index-Schwetman_002c-H_002e-111"></a> + <p><a name="index-Schwetman_002c-H_002e-112"></a> M. Reiser, H. Kobayashi, <cite>On The Convolution Algorithm for Separable Queueing Networks</cite>, In Proceedings of the 1976 ACM SIGMETRICS Conference on Computer Performance Modeling Measurement and @@ -2849,7 +2860,7 @@ 1976). SIGMETRICS '76. ACM, New York, NY, pp. 109–117. <a href="http://doi.acm.org/10.1145/800200.806187">http://doi.acm.org/10.1145/800200.806187</a> - <p><a name="index-Reiser_002c-M_002e-112"></a><a name="index-Kobayashi_002c-H_002e-113"></a> + <p><a name="index-Reiser_002c-M_002e-113"></a><a name="index-Kobayashi_002c-H_002e-114"></a> This implementation is based on G. Bolch, S. Greiner, H. de Meer and K. Trivedi, <cite>Queueing Networks and Markov Chains: Modeling and Performance Evaluation with Computer Science Applications</cite>, Wiley, @@ -2861,7 +2872,7 @@ function f_i defined in Schwetman, <code>Some Computational Aspects of Queueing Network Models</code>. - <p><a name="index-Bolch_002c-G_002e-114"></a><a name="index-Greiner_002c-S_002e-115"></a><a name="index-de-Meer_002c-H_002e-116"></a><a name="index-Trivedi_002c-K_002e-117"></a> + <p><a name="index-Bolch_002c-G_002e-115"></a><a name="index-Greiner_002c-S_002e-116"></a><a name="index-de-Meer_002c-H_002e-117"></a><a name="index-Trivedi_002c-K_002e-118"></a> <h4 class="subsection">6.3.3 Open networks</h4> @@ -2869,10 +2880,10 @@ <p><a name="doc_002dqnopensingle"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnopensingle</b> (<var>lambda, S, V</var>)<var><a name="index-qnopensingle-118"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnopensingle</b> (<var>lambda, S, V, m</var>)<var><a name="index-qnopensingle-119"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnopensingle</b> (<var>lambda, S, V</var>)<var><a name="index-qnopensingle-119"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnopensingle</b> (<var>lambda, S, V, m</var>)<var><a name="index-qnopensingle-120"></a></var><br> <blockquote> - <p><a name="index-open-network_002c-single-class-120"></a><a name="index-BCMP-network-121"></a> + <p><a name="index-open-network_002c-single-class-121"></a><a name="index-BCMP-network-122"></a> Analyze open, single class BCMP queueing networks. <p>This function works for a subset of BCMP single-class open networks @@ -2965,16 +2976,16 @@ Networks and Markov Chains: Modeling and Performance Evaluation with Computer Science Applications</cite>, Wiley, 1998. - <p><a name="index-Bolch_002c-G_002e-122"></a><a name="index-Greiner_002c-S_002e-123"></a><a name="index-de-Meer_002c-H_002e-124"></a><a name="index-Trivedi_002c-K_002e-125"></a> + <p><a name="index-Bolch_002c-G_002e-123"></a><a name="index-Greiner_002c-S_002e-124"></a><a name="index-de-Meer_002c-H_002e-125"></a><a name="index-Trivedi_002c-K_002e-126"></a> <!-- Open network with multiple classes --> <p><a name="doc_002dqnopenmulti"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnopenmulti</b> (<var>lambda, S, V</var>)<var><a name="index-qnopenmulti-126"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnopenmulti</b> (<var>lambda, S, V, m</var>)<var><a name="index-qnopenmulti-127"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnopenmulti</b> (<var>lambda, S, V</var>)<var><a name="index-qnopenmulti-127"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnopenmulti</b> (<var>lambda, S, V, m</var>)<var><a name="index-qnopenmulti-128"></a></var><br> <blockquote> - <p><a name="index-open-network_002c-multiple-classes-128"></a> + <p><a name="index-open-network_002c-multiple-classes-129"></a> Exact analysis of open, multiple-class BCMP networks. The network can be made of <em>single-server</em> queueing centers (FCFS, LCFS-PR or PS) or delay centers (IS). This function assumes a network with @@ -3039,7 +3050,7 @@ 1984. <a href="http://www.cs.washington.edu/homes/lazowska/qsp/">http://www.cs.washington.edu/homes/lazowska/qsp/</a>. In particular, see section 7.4.1 ("Open Model Solution Techniques"). - <p><a name="index-Lazowska_002c-E_002e-D_002e-129"></a><a name="index-Zahorjan_002c-J_002e-130"></a><a name="index-Graham_002c-G_002e-S_002e-131"></a><a name="index-Sevcik_002c-K_002e-C_002e-132"></a> + <p><a name="index-Lazowska_002c-E_002e-D_002e-130"></a><a name="index-Zahorjan_002c-J_002e-131"></a><a name="index-Graham_002c-G_002e-S_002e-132"></a><a name="index-Sevcik_002c-K_002e-C_002e-133"></a> <h4 class="subsection">6.3.4 Closed Networks</h4> @@ -3047,11 +3058,11 @@ <p><a name="doc_002dqnclosedsinglemva"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>G</var>] = <b>qnclosedsinglemva</b> (<var>N, S, V</var>)<var><a name="index-qnclosedsinglemva-133"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>G</var>] = <b>qnclosedsinglemva</b> (<var>N, S, V, m</var>)<var><a name="index-qnclosedsinglemva-134"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>G</var>] = <b>qnclosedsinglemva</b> (<var>N, S, V, m, Z</var>)<var><a name="index-qnclosedsinglemva-135"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>G</var>] = <b>qnclosedsinglemva</b> (<var>N, S, V</var>)<var><a name="index-qnclosedsinglemva-134"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>G</var>] = <b>qnclosedsinglemva</b> (<var>N, S, V, m</var>)<var><a name="index-qnclosedsinglemva-135"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>, <var>G</var>] = <b>qnclosedsinglemva</b> (<var>N, S, V, m, Z</var>)<var><a name="index-qnclosedsinglemva-136"></a></var><br> <blockquote> - <p><a name="index-Mean-Value-Analysys-_0028MVA_0029-136"></a><a name="index-closed-network_002c-single-class-137"></a><a name="index-normalization-constant-138"></a> + <p><a name="index-Mean-Value-Analysys-_0028MVA_0029-137"></a><a name="index-closed-network_002c-single-class-138"></a><a name="index-normalization-constant-139"></a> Analyze closed, single class queueing networks using the exact Mean Value Analysis (MVA) algorithm. The following queueing disciplines are supported: FCFS, LCFS-PR, PS and IS (Infinite Server). This @@ -3097,8 +3108,11 @@ <var>X</var><code>(k)*</code><var>S</var><code>(k)</code>. <br><dt><var>R</var><dd><var>R</var><code>(k)</code> is the response time at center k. +The <em>Residence Time</em> at center k is +<var>R</var><code>(k) * </code><var>V</var><code>(k)</code>. The system response time <var>Rsys</var> -can be computed as <var>Rsys</var><code> = </code><var>N</var><code>/</code><var>Xsys</var><code> - Z</code> +can be computed either as <var>Rsys</var><code> = </code><var>N</var><code>/</code><var>Xsys</var><code> - Z</code> +or as <var>Rsys</var><code> = dot(</code><var>R</var><code>,</code><var>V</var><code>)</code> <br><dt><var>Q</var><dd><var>Q</var><code>(k)</code> is the average number of requests at center k. The number of requests in the system can be computed @@ -3149,7 +3163,7 @@ Multichain Queuing Networks</cite>, Journal of the ACM, vol. 27, n. 2, April 1980, pp. 313–322. <a href="http://doi.acm.org/10.1145/322186.322195">http://doi.acm.org/10.1145/322186.322195</a> - <p><a name="index-Reiser_002c-M_002e-139"></a><a name="index-Lavenberg_002c-S_002e-S_002e-140"></a> + <p><a name="index-Reiser_002c-M_002e-140"></a><a name="index-Lavenberg_002c-S_002e-S_002e-141"></a> This implementation is described in R. Jain , <cite>The Art of Computer Systems Performance Analysis</cite>, Wiley, 1991, p. 577. Multi-server nodes <!-- and the computation of @math{G(N)}, --> @@ -3158,15 +3172,15 @@ Performance Evaluation with Computer Science Applications</cite>, Wiley, 1998, Section 8.2.1, "Single Class Queueing Networks". - <p><a name="index-Jain_002c-R_002e-141"></a><a name="index-Bolch_002c-G_002e-142"></a><a name="index-Greiner_002c-S_002e-143"></a><a name="index-de-Meer_002c-H_002e-144"></a><a name="index-Trivedi_002c-K_002e-145"></a> + <p><a name="index-Jain_002c-R_002e-142"></a><a name="index-Bolch_002c-G_002e-143"></a><a name="index-Greiner_002c-S_002e-144"></a><a name="index-de-Meer_002c-H_002e-145"></a><a name="index-Trivedi_002c-K_002e-146"></a> <!-- MVA for single class, closed networks with load dependent servers --> <a name="doc_002dqnclosedsinglemvald"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedsinglemvald</b> (<var>N, S, V</var>)<var><a name="index-qnclosedsinglemvald-146"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedsinglemvald</b> (<var>N, S, V, Z</var>)<var><a name="index-qnclosedsinglemvald-147"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedsinglemvald</b> (<var>N, S, V</var>)<var><a name="index-qnclosedsinglemvald-147"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedsinglemvald</b> (<var>N, S, V, Z</var>)<var><a name="index-qnclosedsinglemvald-148"></a></var><br> <blockquote> - <p><a name="index-Mean-Value-Analysys-_0028MVA_0029-148"></a><a name="index-closed-network_002c-single-class-149"></a><a name="index-load_002ddependent-service-center-150"></a> + <p><a name="index-Mean-Value-Analysys-_0028MVA_0029-149"></a><a name="index-closed-network_002c-single-class-150"></a><a name="index-load_002ddependent-service-center-151"></a> Exact MVA algorithm for closed, single class queueing networks with load-dependent service centers. This function supports FCFS, LCFS-PR, PS and IS nodes. For networks with only fixed-rate @@ -3224,15 +3238,15 @@ 1998, Section 8.2.4.1, “Networks with Load-Deèpendent Service: Closed Networks”. - <p><a name="index-Bolch_002c-G_002e-151"></a><a name="index-Greiner_002c-S_002e-152"></a><a name="index-de-Meer_002c-H_002e-153"></a><a name="index-Trivedi_002c-K_002e-154"></a> + <p><a name="index-Bolch_002c-G_002e-152"></a><a name="index-Greiner_002c-S_002e-153"></a><a name="index-de-Meer_002c-H_002e-154"></a><a name="index-Trivedi_002c-K_002e-155"></a> <!-- CMVA for single class, closed networks with a single load dependent servers --> <a name="doc_002dqncmva"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qncmva</b> (<var>N, S, Sld, V</var>)<var><a name="index-qncmva-155"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qncmva</b> (<var>N, S, Sld, V, Z</var>)<var><a name="index-qncmva-156"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qncmva</b> (<var>N, S, Sld, V</var>)<var><a name="index-qncmva-156"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qncmva</b> (<var>N, S, Sld, V, Z</var>)<var><a name="index-qncmva-157"></a></var><br> <blockquote> - <p><a name="index-Mean-Value-Analysys-_0028MVA_0029-157"></a><a name="index-CMVA-158"></a> + <p><a name="index-Mean-Value-Analysys-_0028MVA_0029-158"></a><a name="index-CMVA-159"></a> Implementation of the Conditional MVA (CMVA) algorithm, a numerically stable variant of MVA for load-dependent servers. CMVA is described in G. Casale, <cite>A Note on Stable Flow-Equivalent Aggregation in @@ -3286,19 +3300,19 @@ closed networks</cite>. Queueing Syst. Theory Appl., 60:193–202, December 2008. - <p><a name="index-Casale_002c-G_002e-159"></a> + <p><a name="index-Casale_002c-G_002e-160"></a> <!-- Approximate MVA for single class, closed networks --> <p><a name="doc_002dqnclosedsinglemvaapprox"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedsinglemvaapprox</b> (<var>N, S, V</var>)<var><a name="index-qnclosedsinglemvaapprox-160"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedsinglemvaapprox</b> (<var>N, S, V, m</var>)<var><a name="index-qnclosedsinglemvaapprox-161"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedsinglemvaapprox</b> (<var>N, S, V, m, Z</var>)<var><a name="index-qnclosedsinglemvaapprox-162"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedsinglemvaapprox</b> (<var>N, S, V, m, Z, tol</var>)<var><a name="index-qnclosedsinglemvaapprox-163"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedsinglemvaapprox</b> (<var>N, S, V, m, Z, tol, iter_max</var>)<var><a name="index-qnclosedsinglemvaapprox-164"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedsinglemvaapprox</b> (<var>N, S, V</var>)<var><a name="index-qnclosedsinglemvaapprox-161"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedsinglemvaapprox</b> (<var>N, S, V, m</var>)<var><a name="index-qnclosedsinglemvaapprox-162"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedsinglemvaapprox</b> (<var>N, S, V, m, Z</var>)<var><a name="index-qnclosedsinglemvaapprox-163"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedsinglemvaapprox</b> (<var>N, S, V, m, Z, tol</var>)<var><a name="index-qnclosedsinglemvaapprox-164"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedsinglemvaapprox</b> (<var>N, S, V, m, Z, tol, iter_max</var>)<var><a name="index-qnclosedsinglemvaapprox-165"></a></var><br> <blockquote> - <p><a name="index-Mean-Value-Analysys-_0028MVA_0029_002c-approximate-165"></a><a name="index-Approximate-MVA-166"></a><a name="index-Closed-network_002c-single-class-167"></a><a name="index-Closed-network_002c-approximate-analysis-168"></a> + <p><a name="index-Mean-Value-Analysys-_0028MVA_0029_002c-approximate-166"></a><a name="index-Approximate-MVA-167"></a><a name="index-Closed-network_002c-single-class-168"></a><a name="index-Closed-network_002c-approximate-analysis-169"></a> Analyze closed, single class queueing networks using the Approximate Mean Value Analysis (MVA) algorithm. This function is based on approximating the number of customers seen at center k when a @@ -3377,20 +3391,20 @@ 1984. <a href="http://www.cs.washington.edu/homes/lazowska/qsp/">http://www.cs.washington.edu/homes/lazowska/qsp/</a>. In particular, see section 6.4.2.2 ("Approximate Solution Techniques"). - <p><a name="index-Lazowska_002c-E_002e-D_002e-169"></a><a name="index-Zahorjan_002c-J_002e-170"></a><a name="index-Graham_002c-G_002e-S_002e-171"></a><a name="index-Sevcik_002c-K_002e-C_002e-172"></a> + <p><a name="index-Lazowska_002c-E_002e-D_002e-170"></a><a name="index-Zahorjan_002c-J_002e-171"></a><a name="index-Graham_002c-G_002e-S_002e-172"></a><a name="index-Sevcik_002c-K_002e-C_002e-173"></a> <!-- MVA for multiple class, closed networks --> <p><a name="doc_002dqnclosedmultimva"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimva</b> (<var>N, S </var>)<var><a name="index-qnclosedmultimva-173"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimva</b> (<var>N, S, V</var>)<var><a name="index-qnclosedmultimva-174"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimva</b> (<var>N, S, V, m</var>)<var><a name="index-qnclosedmultimva-175"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimva</b> (<var>N, S, V, m, Z</var>)<var><a name="index-qnclosedmultimva-176"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimva</b> (<var>N, S, P</var>)<var><a name="index-qnclosedmultimva-177"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimva</b> (<var>N, S, P, m</var>)<var><a name="index-qnclosedmultimva-178"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimva</b> (<var>N, S </var>)<var><a name="index-qnclosedmultimva-174"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimva</b> (<var>N, S, V</var>)<var><a name="index-qnclosedmultimva-175"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimva</b> (<var>N, S, V, m</var>)<var><a name="index-qnclosedmultimva-176"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimva</b> (<var>N, S, V, m, Z</var>)<var><a name="index-qnclosedmultimva-177"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimva</b> (<var>N, S, P</var>)<var><a name="index-qnclosedmultimva-178"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimva</b> (<var>N, S, P, m</var>)<var><a name="index-qnclosedmultimva-179"></a></var><br> <blockquote> - <p><a name="index-Mean-Value-Analysys-_0028MVA_0029-179"></a><a name="index-closed-network_002c-multiple-classes-180"></a> + <p><a name="index-Mean-Value-Analysys-_0028MVA_0029-180"></a><a name="index-closed-network_002c-multiple-classes-181"></a> Analyze closed, multiclass queueing networks with K service centers and C independent customer classes (chains) using the Mean Value Analysys (MVA) algorithm. @@ -3477,8 +3491,10 @@ defined as <var>U</var><code>(c,k) = </code><var>X</var><code>(c,k)*</code><var>S</var><code>(c,k)</code>. <br><dt><var>R</var><dd><var>R</var><code>(c,k)</code> is the class c response time at -center k. The total class c system response time -can be computed as <code>dot(</code><var>R</var><code>, </code><var>V</var><code>, 2)</code>. +center k. The class c <em>residence time</em> +at center k is <var>R</var><code>(c,k) * </code><var>C</var><code>(c,k)</code>. +The total class c system response time +is <code>dot(</code><var>R</var><code>, </code><var>V</var><code>, 2)</code>. <br><dt><var>Q</var><dd><var>Q</var><code>(c,k)</code> is the average number of class c requests at center k. The total number of @@ -3518,7 +3534,7 @@ Multichain Queuing Networks</cite>, Journal of the ACM, vol. 27, n. 2, April 1980, pp. 313–322. <a href="http://doi.acm.org/10.1145/322186.322195">http://doi.acm.org/10.1145/322186.322195</a> - <p><a name="index-Reiser_002c-M_002e-181"></a><a name="index-Lavenberg_002c-S_002e-S_002e-182"></a> + <p><a name="index-Reiser_002c-M_002e-182"></a><a name="index-Lavenberg_002c-S_002e-S_002e-183"></a> This implementation is based on G. Bolch, S. Greiner, H. de Meer and K. Trivedi, <cite>Queueing Networks and Markov Chains: Modeling and Performance Evaluation with Computer Science Applications</cite>, Wiley, @@ -3528,18 +3544,18 @@ 1984. <a href="http://www.cs.washington.edu/homes/lazowska/qsp/">http://www.cs.washington.edu/homes/lazowska/qsp/</a>. In particular, see section 7.4.2.1 ("Exact Solution Techniques"). - <p><a name="index-Bolch_002c-G_002e-183"></a><a name="index-Greiner_002c-S_002e-184"></a><a name="index-de-Meer_002c-H_002e-185"></a><a name="index-Trivedi_002c-K_002e-186"></a><a name="index-Lazowska_002c-E_002e-D_002e-187"></a><a name="index-Zahorjan_002c-J_002e-188"></a><a name="index-Graham_002c-G_002e-S_002e-189"></a><a name="index-Sevcik_002c-K_002e-C_002e-190"></a> + <p><a name="index-Bolch_002c-G_002e-184"></a><a name="index-Greiner_002c-S_002e-185"></a><a name="index-de-Meer_002c-H_002e-186"></a><a name="index-Trivedi_002c-K_002e-187"></a><a name="index-Lazowska_002c-E_002e-D_002e-188"></a><a name="index-Zahorjan_002c-J_002e-189"></a><a name="index-Graham_002c-G_002e-S_002e-190"></a><a name="index-Sevcik_002c-K_002e-C_002e-191"></a> <!-- Approximate MVA, with Bard-Schweitzer approximation --> <a name="doc_002dqnclosedmultimvaapprox"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimvaapprox</b> (<var>N, S, V</var>)<var><a name="index-qnclosedmultimvaapprox-191"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimvaapprox</b> (<var>N, S, V, m</var>)<var><a name="index-qnclosedmultimvaapprox-192"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimvaapprox</b> (<var>N, S, V, m, Z</var>)<var><a name="index-qnclosedmultimvaapprox-193"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimvaapprox</b> (<var>N, S, V, m, Z, tol</var>)<var><a name="index-qnclosedmultimvaapprox-194"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimvaapprox</b> (<var>N, S, V, m, Z, tol, iter_max</var>)<var><a name="index-qnclosedmultimvaapprox-195"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimvaapprox</b> (<var>N, S, V</var>)<var><a name="index-qnclosedmultimvaapprox-192"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimvaapprox</b> (<var>N, S, V, m</var>)<var><a name="index-qnclosedmultimvaapprox-193"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimvaapprox</b> (<var>N, S, V, m, Z</var>)<var><a name="index-qnclosedmultimvaapprox-194"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimvaapprox</b> (<var>N, S, V, m, Z, tol</var>)<var><a name="index-qnclosedmultimvaapprox-195"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnclosedmultimvaapprox</b> (<var>N, S, V, m, Z, tol, iter_max</var>)<var><a name="index-qnclosedmultimvaapprox-196"></a></var><br> <blockquote> - <p><a name="index-Mean-Value-Analysys-_0028MVA_0029_002c-approximate-196"></a><a name="index-Approximate-MVA-197"></a><a name="index-Closed-network_002c-multiple-classes-198"></a><a name="index-Closed-network_002c-approximate-analysis-199"></a> + <p><a name="index-Mean-Value-Analysys-_0028MVA_0029_002c-approximate-197"></a><a name="index-Approximate-MVA-198"></a><a name="index-Closed-network_002c-multiple-classes-199"></a><a name="index-Closed-network_002c-approximate-analysis-200"></a> Analyze closed, multiclass queueing networks with K service centers and C customer classes using the approximate Mean Value Analysys (MVA) algorithm. @@ -3624,12 +3640,12 @@ proc. 4th Int. Symp. on Modelling and Performance Evaluation of Computer Systems, feb. 1979, pp. 51–62. - <p><a name="index-Bard_002c-Y_002e-200"></a> + <p><a name="index-Bard_002c-Y_002e-201"></a> P. Schweitzer, <cite>Approximate Analysis of Multiclass Closed Networks of Queues</cite>, Proc. Int. Conf. on Stochastic Control and Optimization, jun 1979, pp. 25–29. - <p><a name="index-Schweitzer_002c-P_002e-201"></a> + <p><a name="index-Schweitzer_002c-P_002e-202"></a> This implementation is based on Edward D. Lazowska, John Zahorjan, G. Scott Graham, and Kenneth C. Sevcik, <cite>Quantitative System Performance: Computer System Analysis Using Queueing Network Models</cite>, @@ -3640,7 +3656,7 @@ described above, as it computes the average response times R instead of the residence times. - <p><a name="index-Lazowska_002c-E_002e-D_002e-202"></a><a name="index-Zahorjan_002c-J_002e-203"></a><a name="index-Graham_002c-G_002e-S_002e-204"></a><a name="index-Sevcik_002c-K_002e-C_002e-205"></a> + <p><a name="index-Lazowska_002c-E_002e-D_002e-203"></a><a name="index-Zahorjan_002c-J_002e-204"></a><a name="index-Graham_002c-G_002e-S_002e-205"></a><a name="index-Sevcik_002c-K_002e-C_002e-206"></a> <h4 class="subsection">6.3.5 Mixed Networks</h4> @@ -3648,9 +3664,9 @@ <p><a name="doc_002dqnmix"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnmix</b> (<var>lambda, N, S, V, m</var>)<var><a name="index-qnmix-206"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnmix</b> (<var>lambda, N, S, V, m</var>)<var><a name="index-qnmix-207"></a></var><br> <blockquote> - <p><a name="index-Mean-Value-Analysys-_0028MVA_0029-207"></a><a name="index-mixed-network-208"></a> + <p><a name="index-Mean-Value-Analysys-_0028MVA_0029-208"></a><a name="index-mixed-network-209"></a> Solution of mixed queueing networks through MVA. The network consists of K service centers (single-server or delay centers) and C independent customer chains. Both open and closed chains @@ -3741,14 +3757,14 @@ Note that in this function we compute the mean response time R instead of the mean residence time as in the reference. - <p><a name="index-Lazowska_002c-E_002e-D_002e-209"></a><a name="index-Zahorjan_002c-J_002e-210"></a><a name="index-Graham_002c-G_002e-S_002e-211"></a><a name="index-Sevcik_002c-K_002e-C_002e-212"></a> + <p><a name="index-Lazowska_002c-E_002e-D_002e-210"></a><a name="index-Zahorjan_002c-J_002e-211"></a><a name="index-Graham_002c-G_002e-S_002e-212"></a><a name="index-Sevcik_002c-K_002e-C_002e-213"></a> Herb Schwetman, <cite>Implementing the Mean Value Algorithm for the Solution of Queueing Network Models</cite>, Technical Report CSD-TR-355, Department of Computer Sciences, Purdue University, feb 15, 1982, available at <a href="http://www.cs.purdue.edu/research/technical_reports/1980/TR%2080-355.pdf">http://www.cs.purdue.edu/research/technical_reports/1980/TR%2080-355.pdf</a> - <p><a name="index-Schwetman_002c-H_002e-213"></a> + <p><a name="index-Schwetman_002c-H_002e-214"></a> <div class="node"> <a name="Algorithms-for-non-Product-form-QNs"></a> @@ -3767,9 +3783,9 @@ <p><a name="doc_002dqnmvablo"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnmvablo</b> (<var>N, S, M, P</var>)<var><a name="index-qnmvablo-214"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnmvablo</b> (<var>N, S, M, P</var>)<var><a name="index-qnmvablo-215"></a></var><br> <blockquote> - <p><a name="index-queueing-network-with-blocking-215"></a><a name="index-blocking-queueing-network-216"></a><a name="index-closed-network_002c-finite-capacity-217"></a> + <p><a name="index-queueing-network-with-blocking-216"></a><a name="index-blocking-queueing-network-217"></a><a name="index-closed-network_002c-finite-capacity-218"></a> MVA algorithm for closed queueing networks with blocking. <samp><span class="command">qnmvablo</span></samp> computes approximate utilization, response time and mean queue length for closed, single class queueing networks with blocking. @@ -3824,16 +3840,16 @@ Networks</cite>, IEEE Transactions on Software Engineering, vol. 14, n. 2, april 1988, pp. 418–428. <a href="http://dx.doi.org/10.1109/32.4663">http://dx.doi.org/10.1109/32.4663</a> - <p><a name="index-Akyildiz_002c-I_002e-F_002e-218"></a> + <p><a name="index-Akyildiz_002c-I_002e-F_002e-219"></a> <a name="doc_002dqnmarkov"></a> <div class="defun"> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnmarkov</b> (<var>lambda, S, C, P</var>)<var><a name="index-qnmarkov-219"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnmarkov</b> (<var>lambda, S, C, P, m</var>)<var><a name="index-qnmarkov-220"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnmarkov</b> (<var>N, S, C, P</var>)<var><a name="index-qnmarkov-221"></a></var><br> -— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnmarkov</b> (<var>N, S, C, P, m</var>)<var><a name="index-qnmarkov-222"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnmarkov</b> (<var>lambda, S, C, P</var>)<var><a name="index-qnmarkov-220"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnmarkov</b> (<var>lambda, S, C, P, m</var>)<var><a name="index-qnmarkov-221"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnmarkov</b> (<var>N, S, C, P</var>)<var><a name="index-qnmarkov-222"></a></var><br> +— Function File: [<var>U</var>, <var>R</var>, <var>Q</var>, <var>X</var>] = <b>qnmarkov</b> (<var>N, S, C, P, m</var>)<var><a name="index-qnmarkov-223"></a></var><br> <blockquote> - <p><a name="index-closed-network_002c-multiple-classes-223"></a><a name="index-closed-network_002c-finite-capacity-224"></a><a name="index-blocking-queueing-network-225"></a><a name="index-RS-blocking-226"></a> + <p><a name="index-closed-network_002c-multiple-classes-224"></a><a name="index-closed-network_002c-finite-capacity-225"></a><a name="index-blocking-queueing-network-226"></a><a name="index-RS-blocking-227"></a> Compute utilization, response time, average queue length and throughput for open or closed queueing networks with finite capacity. Blocking type is Repetitive-Service (RS). This function explicitly @@ -3943,9 +3959,9 @@ <p><a name="doc_002dqnopenab"></a> <div class="defun"> -— Function File: [<var>Xu</var>, <var>Rl</var>] = <b>qnopenab</b> (<var>lambda, D</var>)<var><a name="index-qnopenab-227"></a></var><br> +— Function File: [<var>Xu</var>, <var>Rl</var>] = <b>qnopenab</b> (<var>lambda, D</var>)<var><a name="index-qnopenab-228"></a></var><br> <blockquote> - <p><a name="index-bounds_002c-asymptotic-228"></a><a name="index-open-network-229"></a> + <p><a name="index-bounds_002c-asymptotic-229"></a><a name="index-open-network-230"></a> Compute Asymptotic Bounds for single-class, open Queueing Networks with K service centers. @@ -3985,14 +4001,14 @@ 1984. <a href="http://www.cs.washington.edu/homes/lazowska/qsp/">http://www.cs.washington.edu/homes/lazowska/qsp/</a>. In particular, see section 5.2 ("Asymptotic Bounds"). - <p><a name="index-Lazowska_002c-E_002e-D_002e-230"></a><a name="index-Zahorjan_002c-J_002e-231"></a><a name="index-Graham_002c-G_002e-S_002e-232"></a><a name="index-Sevcik_002c-K_002e-C_002e-233"></a> + <p><a name="index-Lazowska_002c-E_002e-D_002e-231"></a><a name="index-Zahorjan_002c-J_002e-232"></a><a name="index-Graham_002c-G_002e-S_002e-233"></a><a name="index-Sevcik_002c-K_002e-C_002e-234"></a> <a name="doc_002dqnclosedab"></a> <div class="defun"> -— Function File: [<var>Xl</var>, <var>Xu</var>, <var>Rl</var>, <var>Ru</var>] = <b>qnclosedab</b> (<var>N, D</var>)<var><a name="index-qnclosedab-234"></a></var><br> -— Function File: [<var>Xl</var>, <var>Xu</var>, <var>Rl</var>, <var>Ru</var>] = <b>qnclosedab</b> (<var>N, D, Z</var>)<var><a name="index-qnclosedab-235"></a></var><br> +— Function File: [<var>Xl</var>, <var>Xu</var>, <var>Rl</var>, <var>Ru</var>] = <b>qnclosedab</b> (<var>N, D</var>)<var><a name="index-qnclosedab-235"></a></var><br> +— Function File: [<var>Xl</var>, <var>Xu</var>, <var>Rl</var>, <var>Ru</var>] = <b>qnclosedab</b> (<var>N, D, Z</var>)<var><a name="index-qnclosedab-236"></a></var><br> <blockquote> - <p><a name="index-bounds_002c-asymptotic-236"></a><a name="index-closed-network-237"></a> + <p><a name="index-bounds_002c-asymptotic-237"></a><a name="index-closed-network-238"></a> Compute Asymptotic Bounds for single-class, closed Queueing Networks wit... [truncated message content] |