![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Geometric bound on the queue length of a fork-join subnetwork. More...
#include <cstddef>#include <vector>#include "line/api/fj/fj_harmonic.h"#include "line/api/fj/fj_types.h"#include "line/num/number.h"#include "line/util/error.h"Go to the source code of this file.
Classes | |
| struct | line::fj::FJQgbResult< T > |
| [Q, y] of fj_qgb: the bounded queue lengths and the geometric ratios. More... | |
Namespaces | |
| namespace | line |
| namespace | line::fj |
Functions | |
| template<class T> | |
| FJQgbResult< T > | line::fj::fj_qgb (const std::vector< T > &D, const std::vector< unsigned > &P, unsigned M, const T &Z) |
| Geometric bound on the queue length of a fork-join subnetwork. | |
Geometric bound on the queue length of a fork-join subnetwork.
Templated port of matlab/src/api/fj/fj_qgb.m.
y_n(M) = D_n M / (Z + sum_j D_j H_{P_j} + Dmax M) Q_n(M) = H_{P_n} [ y_n/(1-y_n) - y_n^(M+1)/(1-y_n) ]
The harmonic weights are what distinguishes this from pfqn_qzgblow: a P-way fork-join subnetwork inflates its own demand by H_P in the denominator and its queue length by H_P in the numerator, and setting every P_n to one recovers the ordinary geometric bound exactly.
Definition in file fj_qgb.h.