LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
fj_bounds.h File Reference

Upper and lower bounds on the mean response time of a K-way fork-join system of M/M/1 branches. More...

Include dependency graph for fj_bounds.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.

Detailed Description

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.