![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Mean value analysis at a nonintegral population (fractional-base aMVA). More...
#include <cmath>#include <cstddef>#include <vector>#include "line/num/number.h"#include "line/util/error.h"Go to the source code of this file.
Classes | |
| struct | line::pfqn::NintMvaResult< T > |
| Mean performance measures of pfqn_nintmva at the requested population. More... | |
Namespaces | |
| namespace | line |
| namespace | line::pfqn |
Functions | |
| template<class T> | |
| NintMvaResult< T > | line::pfqn::pfqn_nintmva (const std::vector< T > &L, const T &N, const T &Z) |
| Mean value analysis at a nonintegral population (fractional-base aMVA). | |
| template<class T> | |
| NintMvaResult< T > | line::pfqn::pfqn_nintmva (const std::vector< T > &L, const T &N) |
| MATLAB default: no think time. | |
Mean value analysis at a nonintegral population (fractional-base aMVA).
Templated port of matlab/src/api/pfqn/pfqn_nintmva.m.
The exact MVA recursion started from the FRACTIONAL base n_0 = N - floor(N) instead of from the empty network, giving mean performance measures of a single-class closed product-form network at a real-valued population (Dowdy and Gordon 1984, "aMVA"). The recursion is the standard Reiser-Lavenberg one,
R_i(n) = D_i (1 + Q_i(n-1)), X(n) = n / (Z + sum_i R_i(n)), Q_i(n) = X R_i,
stepped in unit increments from n = n_0 (where the arrival-theorem term Q_i(n_0 - 1) is taken as 0, the network below the base being empty) up to n = N. At integer N the base is 0 and the recursion is bit-identical to exact MVA; at fractional N it interpolates smoothly through the integral points, which is what a nonintegral degree of multiprogramming (a time-average over a measurement window) calls for.
Unlike pfqn_dnc this accepts a think time, since the delay enters the recursion and not a partial-fraction continuation. It is single-class: the multiclass recursion has no one-dimensional step. For fractional multiclass populations use pfqn_bs, which accepts them directly.
Reference: L. W. Dowdy, K. D. Gordon, "Algorithms for Nonintegral Degrees of Multiprogramming in Closed Queuing Networks", Performance Evaluation 4(1):19-28, 1984.
Arithmetic: EXACT-CAPABLE. Only field operations on T; the integer part of N is read through a double, which is lossless for any population a closed model can carry.
Definition in file pfqn_nintmva.h.