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

Server-Station Disaggregation bounds for a multiserver closed network (Dallery and Suri, SIGMETRICS 1986). More...

#include <algorithm>
#include <vector>
#include "line/num/number.h"
#include "line/util/error.h"
#include "line/util/matrix.h"
Include dependency graph for pfqn_ssd.h:

Go to the source code of this file.

Classes

struct  line::pfqn::SsdBounds< T >

Namespaces

namespace  line
 Conservation laws of a layered queueing network, enumerated from its structure.
namespace  line::pfqn

Functions

template<class T>
SsdBounds< T > line::pfqn::pfqn_ssd (const std::vector< T > &L, const T &N, const T &Z, const std::vector< T > &nservers)
 Server-Station Disaggregation bounds for a multiserver closed network (Dallery and Suri, SIGMETRICS 1986).
template<class T>
SsdBounds< T > line::pfqn::pfqn_ssd (const std::vector< T > &L, const T &N, const T &Z)

Detailed Description

Server-Station Disaggregation bounds for a multiserver closed network (Dallery and Suri, SIGMETRICS 1986).

Templated port of matlab/src/api/pfqn/pfqn_ssd.m. Single-class model: L is the per-station demand vector, N the population, Z the think time.

Theorem 5 eq. (6) carries no think time of its own. Inserting a bare +Z into the Theorem 5 form is NOT a bound, because the BJB optimistic step needs sum_k Q_k(N-1) = N-1, which fails once Z X(N-1) jobs sit at the terminal. The queueing term is corrected instead, scaled by the terminal-workload factor of Lazowska et al. 1984, Table 5.2: (N-1) Y_l / (1 + Z/(N R_l)) on the lower bound and (N-1) Y_u / (1 + Z/R_u) on the upper. Both reduce to the Z=0 forms exactly, so this generalises rather than replaces eq. (6), and the Z>0 case is computed instead of refused.

All operations stay in the field, so the bound is exact in rational arithmetic: a bound computed exactly is worth having, since a bound violated only by rounding is indistinguishable from a real violation.

Definition in file pfqn_ssd.h.