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

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

Detailed Description

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.