Mercurial > forge
changeset 9765:ece29b72bf92 octave-forge
improvements to the documentation
author | mmarzolla |
---|---|
date | Sun, 18 Mar 2012 21:03:48 +0000 |
parents | 933407a87a4e |
children | 96969904dc6b |
files | main/queueing/doc/gettingstarted.txi main/queueing/doc/markovchains.txi main/queueing/doc/queueingnetworks.txi main/queueing/doc/references.txi main/queueing/inst/dtmc_taexps.m main/queueing/inst/qnmarkov.m |
diffstat | 6 files changed, 146 insertions(+), 114 deletions(-) [+] |
line wrap: on
line diff
--- a/main/queueing/doc/gettingstarted.txi Sun Mar 18 18:24:04 2012 +0000 +++ b/main/queueing/doc/gettingstarted.txi Sun Mar 18 21:03:48 2012 +0000 @@ -51,7 +51,7 @@ routing of jobs within the network is described with a @emph{routing probability matrix} @math{P}. Specifically, a request completing service at center @math{i} is enqueued at center @math{j} with -probability @math{P_{ij}}. Let us assume the following routing +probability @math{P_{i, j}}. Let us assume the following routing probability matrix: @iftex @@ -106,7 +106,7 @@ @iftex @tex $$ -V_j = \sum_{i=1}^K V_i P_{ij} +V_j = \sum_{i=1}^K V_i P_{i, j} $$ @end tex @end iftex @@ -117,7 +117,7 @@ @end ifnottex We can compute @math{V_k} from the routing probability matrix -@math{P_{ij}} using the @command{qnvisits} function: +@math{P_{i, j}} using the @command{qnvisits} function: @example @group @@ -250,7 +250,7 @@ @iftex @tex $$ -V_j = P_{0j} + \sum_{i=1}^K V_i P_{ij} +V_j = P_{0, j} + \sum_{i=1}^K V_i P_{i, j} $$ @end tex @end iftex @@ -260,12 +260,12 @@ @end example @end ifnottex -where @math{P_{0j}} is the probability of an external arrival to +where @math{P_{0, j}} is the probability of an external arrival to center @math{j}. This can be computed as: @tex $$ -P_{0j} = {\lambda_j \over \sum_{i=1}^K \lambda_i } +P_{0, j} = {\lambda_j \over \sum_{i=1}^K \lambda_i } $$ @end tex
--- a/main/queueing/doc/markovchains.txi Sun Mar 18 18:24:04 2012 +0000 +++ b/main/queueing/doc/markovchains.txi Sun Mar 18 21:03:48 2012 +0000 @@ -39,7 +39,7 @@ @iftex @tex -$$P(X_{n+1} = x_{n+1}\ |\ X_n = x_n, X_{n-1} = x_{n-1}, \ldots, X_0 = x_0) = P(X_{n+1} = x_{n+1}\ |\ X_n = x_n)$$ +$$P\left(X_{n+1} = x_{n+1}\ |\ X_n = x_n, X_{n-1} = x_{n-1}, \ldots, X_0 = x_0 \right) = P\left(X_{n+1} = x_{n+1}\ |\ X_n = x_n\right)$$ @end tex @end iftex @ifnottex @@ -56,7 +56,7 @@ X_n = i )}. If the Markov chain is homogeneous (that is, the transition probability matrix @math{{\bf P}(n)} is time-independent), we can simply write @math{{\bf P} = P_{i, j}}, where @math{P_{i, j} = -P( X_{n+1} = j\ |\ X_n = i )} for all @math{n=0, 1, 2, @dots{}}. +P( X_{n+1} = j\ |\ X_n = i )} for all @math{n=0, 1, @dots{}}. The transition probability matrix @math{\bf P} must satisfy the following two properties: (1) @math{P_{i, j} @geq{} 0} for all @@ -80,14 +80,14 @@ @node State occupancy probabilities (DTMC) @subsection State occupancy probabilities -We denote with @math{{\bf \pi}(n) = (\pi_1(n), \pi_2(n), @dots{}, -\pi_N(n) )} the @emph{state occupancy probability vector} at step +We denote with @math{{\bf \pi}(n) = \left(\pi_1(n), \pi_2(n), @dots{}, +\pi_N(n) \right)} the @emph{state occupancy probability vector} at step @math{n}. @math{\pi_i(n)} denotes the probability that the system is in state @math{i} at step @math{n}. Given the transition probability matrix @math{\bf P} and the initial -state occupancy probability vector @math{{\bf \pi}(0) = (\pi_1(0), -\pi_2(0), @dots{}, \pi_N(0))} at step 0, the state occupancy +state occupancy probability vector @math{{\bf \pi}(0) = \left(\pi_1(0), +\pi_2(0), @dots{}, \pi_N(0)\right)} at step 0, the state occupancy probability vector @math{{\bf \pi}(n)} at step @math{n} can be computed as: @@ -136,7 +136,7 @@ matrix @math{\bf P} and an integer @math{n @geq{} 0}, we let @math{L_i(n)} be the the expected number of visits to state @math{i} during the first @math{n} transitions. The vector @math{{\bf L}(n) = -(L_1(n), L_2(n), @dots{}, L_N(n))} is defined as: +( L_1(n), L_2(n), @dots{}, L_N(n) )} is defined as: @iftex @tex @@ -239,7 +239,7 @@ A stochastic process @math{@{X(t), t @geq{} 0@}} is a continuous-time Markov chain if, for all integers @math{n}, and for any sequence -@math{t_0, t_1 , \ldots , t_n, t_{n+1}} such that @math{t_0 < t_1 < +@math{t_0, t_1 , \ldots, t_n, t_{n+1}} such that @math{t_0 < t_1 < \ldots < t_n < t_{n+1}}, we have @iftex @@ -333,7 +333,7 @@ Given a @math{N} state continuous-time Markov Chain with infinitesimal generator matrix @math{\bf Q}, we define the vector @math{{\bf L}(t) = -(L_1(t), L_2(t), \ldots L_N(t))} such that @math{L_i(t)} is the +(L_1(t), L_2(t), \ldots, L_N(t))} such that @math{L_i(t)} is the expected sojourn time in state @math{i} during the interval @math{[0,t)}, assuming that the initial occupancy probability at time 0 was @math{{\bf \pi}(0)}. @math{{\bf L}(t)} can be expressed as the
--- a/main/queueing/doc/queueingnetworks.txi Sun Mar 18 18:24:04 2012 +0000 +++ b/main/queueing/doc/queueingnetworks.txi Sun Mar 18 21:03:48 2012 +0000 @@ -110,12 +110,13 @@ service, and the instant at which service finishes and the request moves to another queue (or exits the system). -@item P_{ij} -Routing probability matrix. @math{{\bf P} = P_{ij}} is a @math{K \times -K} matrix such that @math{P_{ij}} is the probability that a request -completing service at server @math{i} will move directly to server -@math{j}, The probability that a request leaves the system after service -at service center @math{i} is @math{1-\sum_{j=1}^K P_{ij}}. +@item P_{i, j} +Routing probability matrix. @math{{\bf P} = P_{i, j}} is a @math{K +\times K} matrix such that @math{P_{i, j}} is the probability that a +request completing service at server @math{i} will move directly to +server @math{j}, The probability that a request leaves the system +after service at service center @math{i} is @math{1-\sum_{j=1}^K P_{i, +j}}. @item V_i Average number of visits. @math{V_i} is the average number of visits to @@ -172,30 +173,48 @@ @iftex @tex -$V_j = P_{0 j} + \sum_{i=1}^K V_i P_{i j}$ +$$ V_j = P_{0, j} + \sum_{i=1}^K V_i P_{i, j} $$ @end tex @end iftex @ifnottex @example -V == P0 + V*P; +@group + K + ___ + \ +V_j = P_(0, j) + > V_i P_(i, j) + /___ + i=1 +@end group @end example @end ifnottex -@noindent where @math{P_{0 j}} is the probability that an external +@noindent where @math{P_{0, j}} is the probability that an external arrival goes to service center @math{j}. If @math{\lambda_j} is the external arrival rate to service center @math{j}, and @math{\lambda = \sum_j \lambda_j} is the overall external arrival rate, then -@math{P_{0 j} = \lambda_j / \lambda}. +@math{P_{0, j} = \lambda_j / \lambda}. For closed models, the visit ratios satisfy the following equation: @iftex @tex -$V_j = \sum_{i=1}^K V_i P_{i j}$ +$$\eqalign{V_1 & = 1 \cr + V_j & = \sum_{i=1}^K V_i P_{i, j}} $$ @end tex @end iftex @ifnottex @example + +V_1 = 1 + + K + ___ + \ +V_j = > V_i P_(i, j) + /___ + i=1 + V(1) == 1 && V == V*P; @end example @end ifnottex @@ -204,46 +223,46 @@ In multiple class QN models, we assume that there exist @math{C} different classes of requests. Each request from class @math{c} spends -on average time @math{S_{ck}} in service at service center @math{k}. For -open models, we denote with @math{{\bf \lambda} = \lambda_{ck}} the -arrival rates, where @math{\lambda_{ck}} is the external arrival rate of -class @math{c} customers at service center @math{k}. For closed models, -we denote with @math{{\bf N} = (N_1, N_2, \ldots N_C)} the population -vector, where @math{N_c} is the number of class @math{c} requests in the -system. +on average time @math{S_{c, k}} in service at service center +@math{k}. For open models, we denote with @math{{\bf \lambda} = +\lambda_{ck}} the arrival rates, where @math{\lambda_{c, k}} is the +external arrival rate of class @math{c} customers at service center +@math{k}. For closed models, we denote with @math{{\bf N} = (N_1, N_2, +\ldots, N_C)} the population vector, where @math{N_c} is the number of +class @math{c} requests in the system. The transition probability matrix for these kind of networks will be a -@math{C \times K \times C \times K} matrix @math{{\bf P} = -P_{risj}} such that @math{P_{risj}} is the probability that a -class @math{r} request which completes service at center @math{i} will -join server @math{j} as a class @math{s} request. +@math{C \times K \times C \times K} matrix @math{{\bf P} = P_{r, i, s, j}} +such that @math{P_{r, i, s, j}} is the probability that a class +@math{r} request which completes service at center @math{i} will join +server @math{j} as a class @math{s} request. -Model input and outputs can be adjusted by adding additional -indexes for the customer classes. +Model input and outputs can be adjusted by adding additional indexes +for the customer classes. @noindent @strong{Model Inputs} @table @math -@item \lambda_{ci} +@item \lambda_{c, i} External arrival rate of class-@math{c} requests to service center @math{i} @item \lambda -Overall external arrival rate to the whole system: @math{\lambda = \sum_c \sum_i \lambda_{ci}} +Overall external arrival rate to the whole system: @math{\lambda = \sum_c \sum_i \lambda_{c, i}} -@item S_{ci} -Average service time. @math{S_{ci}} is the average service time on service -center @math{i} for class @math{c} requests. +@item S_{c, i} +Average service time. @math{S_{c, i}} is the average service time on +service center @math{i} for class @math{c} requests. -@item P_{risj} -Routing probability matrix. @math{{\bf P} = P_{risj}} is a @math{C -\times K \times C \times K} matrix such that @math{P_{risj}} is the -probability that a class @math{r} request which completes service at -server @math{i} will move to server @math{j} as a class @math{s} +@item P_{r, i, s, j} +Routing probability matrix. @math{{\bf P} = P_{r, i, s, j}} is a @math{C +\times K \times C \times K} matrix such that @math{P_{r, i, s, j}} is +the probability that a class @math{r} request which completes service +at server @math{i} will move to server @math{j} as a class @math{s} request. -@item V_{ci} -Average number of visits. @math{V_{ci}} is the average number of visits +@item V_{c, i} +Average number of visits. @math{V_{c, i}} is the average number of visits of class @math{c} requests to the service center @math{i}. @end table @@ -252,23 +271,23 @@ @table @math -@item U_{ci} +@item U_{c, i} Utilization of service center @math{i} by class @math{c} requests. The utilization is defined as the fraction of time in which the resource is busy (i.e., the server is processing requests). -@item R_{ci} +@item R_{c, i} Average response time experienced by class @math{c} requests on service center @math{i}. The average response time is defined as the average time between the arrival of a customer in the queue, and the completion of service. -@item Q_{ci} +@item Q_{c, i} Average number of class @math{c} requests on service center @math{i}. This includes both the requests in the queue, and the request being served. -@item X_{ci} +@item X_{c, i} Throughput of service center @math{i} for class @math{c} requests. The throughput is defined as the rate of completion of class @math{c} requests. @@ -283,7 +302,7 @@ Utilization of service center @math{i}: @iftex @tex -$U_i = \sum_{c=1}^C U_{ci}$ +$U_i = \sum_{c=1}^C U_{c, i}$ @end tex @end iftex @ifnottex @@ -294,7 +313,7 @@ System response time for class @math{c} requests: @iftex @tex -$R_c = \sum_{i=1}^K R_{ci} V_{ci}$ +$R_c = \sum_{i=1}^K R_{c, i} V_{c, i}$ @end tex @end iftex @ifnottex @@ -305,7 +324,7 @@ Average number of class @math{c} requests in the system: @iftex @tex -$Q_c = \sum_{i=1}^K Q_{ci}$ +$Q_c = \sum_{i=1}^K Q_{c, i}$ @end tex @end iftex @ifnottex @@ -316,7 +335,7 @@ Class @math{c} throughput: @iftex @tex -$X_c = X_{c1} / V_{c1}$ +$X_c = X_{c, 1} / V_{c, 1}$ @end tex @end iftex @ifnottex @@ -325,12 +344,13 @@ @end table -We can define the visit ratios @math{V_{sj}} for class @math{s} +We can define the visit ratios @math{V_{s, j}} for class @math{s} customers at service center @math{j} as follows: @iftex @tex -$V_{sj} = \sum_{r=1}^C \sum_{i=1}^K V_{ri} P_{risj},\ V_{s1} = 1$ +$$ \eqalign{ V_{s, j} & = \sum_{r=1}^C \sum_{i=1}^K V_{r, i} P_{r, i, s, j} \cr + V_{s, 1} & = 1} $$ @end tex @end iftex @ifnottex @@ -343,7 +363,7 @@ @iftex @tex -$V_{sj} = P_{0sj} + \sum_{r=1}^C \sum_{i=1}^K V_{ri} P_{risj}$ +$$V_{s, j} = P_{0, s, j} + \sum_{r=1}^C \sum_{i=1}^K V_{r, i} P_{r, i, s, j}$$ @end tex @end iftex @ifnottex @@ -352,12 +372,12 @@ @end group @end ifnottex -@noindent where @math{P_{0sj}} is the probability that an external +@noindent where @math{P_{0, s, j}} is the probability that an external arrival goes to service center @math{j} as a class-@math{s} request. -If @math{\lambda_{sj}} is the external arrival rate of class @math{s} -requests to service center @math{j}, and @math{\lambda = \sum_s \sum_j -\lambda_{sj}} is the overall external arrival rate to the whole system, -then @math{P_{0sj} = \lambda_{sj} / \lambda}. +If @math{\lambda_{s, j}} is the external arrival rate of class +@math{s} requests to service center @math{j}, and @math{\lambda = +\sum_s \sum_j \lambda_{s, j}} is the overall external arrival rate to +the whole system, then @math{P_{0, s, j} = \lambda_{s, j} / \lambda}. @c @c @@ -405,11 +425,11 @@ requests in 0.2. Note that service times are class-independent; @item Node 2 is a @math{-/G/1}--PS node, with service times -@math{S_{12} = 0.4} for class 1, and @math{S_{22} = 0.6} for class 2 +@math{S_{1, 2} = 0.4} for class 1, and @math{S_{2, 2} = 0.6} for class 2 requests; @item Node 3 is a @math{-/G/\infty} node (delay center), with service -times @math{S_{13}=1} and @math{S_{23}=2} for class 1 and 2 +times @math{S_{1, 3}=1} and @math{S_{2, 3}=2} for class 1 and 2 respectively. @end itemize @@ -491,14 +511,14 @@ @end itemize We define the @emph{joint probability vector} @math{\pi(k_1, k_2, -\ldots k_N)} as the steady-state probability that there are @math{k_i} -requests at service center @math{i}, for all @math{i=1,2, \ldots N}. +\ldots, k_N)} as the steady-state probability that there are @math{k_i} +requests at service center @math{i}, for all @math{i=1, 2, \ldots, N}. Jackson networks have the property that the joint probability is the product of the marginal probabilities @math{\pi_i}: @iftex @tex -$$ \pi(k_1, k_2, \ldots k_N) = \prod_{i=1}^N \pi_i(k_i) $$ +$$ \pi(k_1, k_2, \ldots, k_N) = \prod_{i=1}^N \pi_i(k_i) $$ @end tex @end iftex @ifnottex @@ -532,7 +552,7 @@ @iftex @tex -$$ \pi(k_1, k_2, \ldots k_K) = {1 \over G(N)} \prod_{i=1}^N F_i(k_i) $$ +$$ \pi(k_1, k_2, \ldots, k_K) = {1 \over G(N)} \prod_{i=1}^N F_i(k_i) $$ @end tex @end iftex @ifnottex @@ -544,14 +564,14 @@ @end example @end ifnottex -Here @math{\pi(k_1, k_2, \ldots k_K)} is the joint probability of -having @math{k_i} requests at node @math{i}, for all @math{i=1,2, -\ldots K}. +Here @math{\pi(k_1, k_2, \ldots, k_K)} is the joint probability of +having @math{k_i} requests at node @math{i}, for all @math{i=1, 2, +\ldots, K}. The @emph{convolution algorithms} computes the normalization constants -@math{G = (G(0), G(1), \ldots G(N))} for single-class, closed networks +@math{{\bf G} = \left(G(0), G(1), \ldots, G(N)\right)} for single-class, closed networks with @math{N} requests. The normalization constants are returned as -vector @code{@var{G}=[@var{G}(1), @var{G}(2), ... @var{G}(N+1)]} where +vector @code{@var{G}=[@var{G}(1), @var{G}(2), @dots{} @var{G}(N+1)]} where @code{@var{G}(i+1)} is the value of @math{G(i)} (remember that Octave uses 1-base vectors). The normalization constant can be used to compute all performance measures of interest (utilization, average @@ -574,14 +594,14 @@ The normalization constant @math{G} can be used to compute the steady-state probabilities for a closed single class product-form Queueing Network with @math{K} nodes. Let @code{@var{k}=[@math{k_1, -k_2, @dots{} k_K}]} be a valid population vector. Then, the +k_2, @dots{}, k_K}]} be a valid population vector. Then, the steady-state probability @code{@var{p}(i)} to have @code{@var{k}(i)} requests at service center @math{i} can be computed as: @iftex @tex $$ -p_i(k_i) = {(V_i S_i)^{k_i} \over G(K)} \left(G(K-k_i) - V_i S_i G(K-k_i-1)\right), \quad i=1,2, \ldots K +p_i(k_i) = {(V_i S_i)^{k_i} \over G(K)} \left(G(K-k_i) - V_i S_i G(K-k_i-1)\right), \quad i=1, 2, \ldots, K $$ @end tex @end iftex @@ -841,7 +861,7 @@ @noindent @strong{NOTE} Given a network with @math{K} service centers, @math{C} job classes and -population vector @math{{\bf N}=(N_1, N_2, \ldots N_C)}, the MVA +population vector @math{{\bf N}=(N_1, N_2, \ldots, N_C)}, the MVA algorithm requires space @math{O(C \prod_i (N_i + 1))}. The time complexity is @math{O(CK\prod_i (N_i + 1))}. This implementation is slightly more space-efficient (see details in the code). While the space @@ -1085,7 +1105,7 @@ @iftex @tex -$V_j = P_{0 j} + \sum_{i=1}^K V_i P_{i j}$ +$$V_j = P_{0, j} + \sum_{i=1}^K V_i P_{i, j}$$ @end tex @end iftex @ifnottex @@ -1094,17 +1114,18 @@ @end example @end ifnottex -@noindent where @math{P_{0 j}} is the probability that an external +@noindent where @math{P_{0, j}} is the probability that an external arrival goes to service center @math{j}. If @math{\lambda_j} is the external arrival rate to service center @math{j}, and @math{\lambda = \sum_j \lambda_j} is the overall external arrival rate, then -@math{P_{0 j} = \lambda_j / \lambda}. +@math{P_{0, j} = \lambda_j / \lambda}. For closed networks, the visit ratios satisfy the following equation: @iftex @tex -$V_j = \sum_{i=1}^K V_i P_{i j},\ V_1 = 1$ +$$\eqalign{ V_j & = \sum_{i=1}^K V_i P_{i, j} \cr + V_1 & = 1 }$$ @end tex @end iftex @ifnottex @@ -1114,12 +1135,13 @@ @end ifnottex The definitions above can be extended to multiple class networks as -follows. We define the visit ratios @math{V_{sj}} for class @math{s} +follows. We define the visit ratios @math{V_{s, j}} for class @math{s} customers at service center @math{j} as follows: @iftex @tex -$V_{sj} = \sum_{r=1}^C \sum_{i=1}^K V_{ri} P_{risj},\ V_{s1} = 1$ +$$\eqalign{ V_{s, j} & = \sum_{r=1}^C \sum_{i=1}^K V_{r, i} P_{r, i, s, j} \cr + V_{s, 1} & = 1 }$$ @end tex @end iftex @ifnottex @@ -1133,7 +1155,7 @@ @iftex @tex -$V_{sj} = P_{0sj} + \sum_{r=1}^C \sum_{i=1}^K V_{ri} P_{risj}$ +$$V_{s, j} = P_{0, s, j} + \sum_{r=1}^C \sum_{i=1}^K V_{r, i} P_{r, i, s, j}$$ @end tex @end iftex @ifnottex @@ -1142,12 +1164,12 @@ @end group @end ifnottex -@noindent where @math{P_{0sj}} is the probability that an external +@noindent where @math{P_{0, s, j}} is the probability that an external arrival goes to service center @math{j} as a class-@math{s} request. -If @math{\lambda_{sj}} is the external arrival rate of class @math{s} +If @math{\lambda_{s, j}} is the external arrival rate of class @math{s} requests to service center @math{j}, and @math{\lambda = \sum_s \sum_j -\lambda_{sj}} is the overall external arrival rate to the whole system, -then @math{P_{0sj} = \lambda_{sj} / \lambda}. +\lambda_{s, j}} is the overall external arrival rate to the whole system, +then @math{P_{0, s, j} = \lambda_{s, j} / \lambda}. @DOCSTRING(qnvisits) @@ -1172,7 +1194,7 @@ 80-355.pdf} Note that the slightly different problem of generating all tuples -@math{k_1, k_2, \ldots k_N} such that @math{\sum_i k_i = k} and +@math{k_1, k_2, \ldots, k_N} such that @math{\sum_i k_i = k} and @math{k_i} are nonnegative integers, for some fixed integer @math{k @geq{} 0} has been described in S. Santini, @cite{Computing the Indices for a Complex Summation}, unpublished report, available at
--- a/main/queueing/doc/references.txi Sun Mar 18 18:24:04 2012 +0000 +++ b/main/queueing/doc/references.txi Sun Mar 18 21:03:48 2012 +0000 @@ -27,14 +27,17 @@ @item [Aky88] Ian F. Akyildiz, @cite{Mean Value Analysis for Blocking Queueing Networks}, IEEE Transactions on Software Engineering, vol. 14, n. 2, -april 1988, pp. 418--428. @url{http://dx.doi.org/10.1109/32.4663} +april 1988, pp. 418--428. DOI @uref{http://dx.doi.org/10.1109/32.4663, 10.1109/32.4663} @item [Bar79] Y. Bard, @cite{Some Extensions to Multiclass Queueing Network Analysis}, proc. 4th Int. Symp. on Modelling and Performance Evaluation of Computer Systems, feb. 1979, pp. 51--62. -@item [RGMT98] +@item [BCMP75] +Forest Baskett, K. Mani Chandy, Richard R. Muntz, and Fernando G. Palacios. 1975. @cite{Open, Closed, and Mixed Networks of Queues with Different Classes of Customers}. J. ACM 22, 2 (April 1975), 248—260, DOI @uref{http://doi.acm.org/10.1145/321879.321887, 10.1145/321879.321887} + +@item [BGMT98] G. Bolch, S. Greiner, H. de Meer and K. Trivedi, @cite{Queueing Networks and Markov Chains: Modeling and Performance Evaluation with Computer Science Applications}, Wiley, @@ -44,20 +47,25 @@ Jeffrey P. Buzen, @cite{Computational Algorithms for Closed Queueing Networks with Exponential Servers}, Communications of the ACM, volume 16, number 9, september 1973, -pp. 527--531. @url{http://doi.acm.org/10.1145/362342.362345} +pp. 527--531. DOI @uref{http://doi.acm.org/10.1145/362342.362345, 10.1145/362342.362345} @item [CMS08] G. Casale, R. R. Muntz, G. Serazzi, @cite{Geometric Bounds: a Non-Iterative Analysis Technique for Closed Queueing Networks}, IEEE Transactions on Computers, 57(6):780-794, -June 2008. @url{http://doi.ieeecomputersociety.org/10.1109/TC.2008.37} +June 2008. DOI @uref{http://doi.ieeecomputersociety.org/10.1109/TC.2008.37, 10.1109/TC.2008.37} @item [GrSn97] -Charles M. Grinstead, J. Laurie Snell, (July 1997). Introduction to -Probability. American Mathematical Society. ISBN 978-0821807491 +Charles M. Grinstead, J. Laurie Snell, (July 1997). @cite{Introduction +to Probability}. American Mathematical Society. ISBN 978-0821807491; +this excellent textbook is @uref{http://www.dartmouth.edu/~chance/teaching_aids/books_articles/probability_book/amsbook.mac.pdf, available in PDF format} +and can be used under the terms of the @uref{http://www.gnu.org/copyleft/fdl.html, GNU Free Documentation License (FDL)} + +@item [Jac04] +James R. Jackson, @cite{Jobshop-Like Queueing Systems}, Vol. 50, No. 12, Ten Most Influential Titles of "Management Science's" First Fifty Years (Dec., 2004), pp. 1796-1802, @uref{http://www.jstor.org/stable/30046149, available online} @item [Jai91] -R. Jain , @cite{The Art of Computer Systems Performance Analysis}, +R. Jain, @cite{The Art of Computer Systems Performance Analysis}, Wiley, 1991, p. 577. @item [HsLa87] @@ -69,7 +77,7 @@ Edward D. Lazowska, John Zahorjan, G. Scott Graham, and Kenneth C. Sevcik, @cite{Quantitative System Performance: Computer System Analysis Using Queueing Network Models}, Prentice Hall, -1984. @url{http://www.cs.washington.edu/homes/lazowska/qsp/}. +1984. @uref{http://www.cs.washington.edu/homes/lazowska/qsp/, available online}. @item [ReKo76] M. Reiser, H. Kobayashi, @cite{On The Convolution Algorithm for @@ -77,31 +85,33 @@ SIGMETRICS Conference on Computer Performance Modeling Measurement and Evaluation (Cambridge, Massachusetts, United States, March 29--31, 1976). SIGMETRICS '76. ACM, New York, NY, -pp. 109--117. @url{http://doi.acm.org/10.1145/800200.806187} +pp. 109--117. DOI @uref{http://doi.acm.org/10.1145/800200.806187, 10.1145/800200.806187} @item [ReLa80] M. Reiser and S. S. Lavenberg, @cite{Mean-Value Analysis of Closed Multichain Queuing Networks}, Journal of the ACM, vol. 27, n. 2, April -1980, pp. 313--322. @url{http://doi.acm.org/10.1145/322186.322195} +1980, pp. 313--322. DOI @uref{http://doi.acm.org/10.1145/322186.322195, 10.1145/322186.322195} + +@item [Sch79] +P. Schweitzer, @cite{Approximate Analysis of Multiclass Closed Networks of +Queues}, Proc. Int. Conf. on Stochastic Control and Optimization, jun +1979, pp. 25—29 @item [Sch81] Herb Schwetman, @cite{Some Computational -Aspects of Queueing Network Models}, Technical Report CSD-TR-354, +Aspects of Queueing Network Models}, @uref{http://www.cs.purdue.edu/research/technical_reports/1980/TR%2080-354.pdf, Technical Report CSD-TR-354}, Department of Computer Sciences, Purdue University, feb, 1981 (revised). -@url{http://www.cs.purdue.edu/research/technical_reports/1980/TR%2080-354.pdf} @item [Sch82] Herb Schwetman, @cite{Implementing the Mean Value Algorithm for the -Solution of Queueing Network Models}, Technical Report CSD-TR-355, -Department of Computer Sciences, Purdue University, feb 15, 1982, -available at -@url{http://www.cs.purdue.edu/research/technical_reports/1980/TR%2080-355.pdf} +Solution of Queueing Network Models}, @uref{http://www.cs.purdue.edu/research/technical_reports/1980/TR%2080-355.pdf, Technical Report CSD-TR-355}, +Department of Computer Sciences, Purdue University, feb 15, 1982. @item [ZaWo81] Zahorjan, J. and Wong, E. @cite{The solution of separable queueing network models using mean value analysis}. SIGMETRICS Perform. Eval. Rev. 10, 3 (Sep. 1981), 80-85. DOI -@url{http://doi.acm.org/10.1145/1010629.805477} +DOI @uref{http://doi.acm.org/10.1145/1010629.805477, 10.1145/1010629.805477} @end table
--- a/main/queueing/inst/dtmc_taexps.m Sun Mar 18 18:24:04 2012 +0000 +++ b/main/queueing/inst/dtmc_taexps.m Sun Mar 18 21:03:48 2012 +0000 @@ -35,7 +35,7 @@ ## Infinitesimal generator matrix. @code{@var{Q}(i,j)} is the transition ## rate from state @math{i} to state @math{j}, ## @math{1 @leq{} i \neq j @leq{} N}. The -## matrix @var{Q} must also satisfy the condition @math{\sum_{j=1}^N Q_{ij} = 0} +## matrix @var{Q} must also satisfy the condition @math{\sum_{j=1}^N Q_{i, j} = 0} ## ## @item t ## Time. If omitted, the results are computed until absorption.
--- a/main/queueing/inst/qnmarkov.m Sun Mar 18 18:24:04 2012 +0000 +++ b/main/queueing/inst/qnmarkov.m Sun Mar 18 21:03:48 2012 +0000 @@ -54,14 +54,14 @@ ## ## @item Average service times are load-independent. ## -## @item @math{P_{ij}} is the probability that requests completing +## @item @math{P_{i, j}} is the probability that requests completing ## execution at center @math{i} are transferred to ## center @math{j}, @math{i \neq j}. For open networks, a request may leave the system -## from any node @math{i} with probability @math{1-\sum_j P_{ij}}. +## from any node @math{i} with probability @math{1-\sum_j P_{i, j}}. ## ## @item Blocking type is Repetitive-Service (RS). Service ## center @math{j} is @emph{saturated} if the number of requests is equal -## to its capacity @code{C_j}. Under the RS blocking discipline, +## to its capacity @math{C_j}. Under the RS blocking discipline, ## a request completing service at center @math{i} which is being ## transferred to a saturated server @math{j} is put back at the end of ## the queue of @math{i} and will receive service again. Center @math{i}