![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Upper and lower bounds on the mean response time of a K-way fork-join system of M/M/1 branches. More...
#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.
Namespaces | |
| namespace | line |
| namespace | line::fj |
Functions | |
| template<class T> | |
| FJBoundsResult< T > | line::fj::fj_bounds (unsigned K, const T &lambda, const T &mu) |
| Upper and lower bounds on the mean response time of a K-way fork-join system of M/M/1 branches. | |
Upper and lower bounds on the mean response time of a K-way fork-join system of M/M/1 branches.
Templated port of matlab/src/api/fj/fj_bounds.m, cross-checked against jar/src/main/java/jline/api/fj/FJ_bounds.java (identical).
Rmax = H_K / (mu (1 - rho)) (Thomasian 2014, Eq. 1) Rmin = (1/mu) [ H_K + sum_{j=1..K} (1/j) rho/(j - rho) ] (Eq. 2)
Both are rational functions of rho = lambda/mu, so the pair is exact in the field. That matters because the bounds are meant to bracket the true mean: a rounded Rmin can exceed a rounded Rmax when the two are close, which the exact instantiation never does.
Definition in file fj_bounds.h.