![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Reference tasks trapped at a zero-capacity element of a layered network. More...
#include <algorithm>#include <cmath>#include <cstddef>#include <cstdio>#include <limits>#include <string>#include <vector>#include "line/lang/lqn/lqn_struct.h"#include "line/num/number.h"Go to the source code of this file.
Classes | |
| struct | line::ln::LnZeroCapacity |
| The structural answer of ln_zero_capacity; see the file header. More... | |
| class | line::ln::zc_detail::ZeroCapacity< T > |
Namespaces | |
| namespace | line |
| Conservation laws of a layered queueing network, enumerated from its structure. | |
| namespace | line::ln |
| namespace | line::ln::zc_detail |
Functions | |
| std::string | line::ln::zc_detail::fmt_g (double v) |
| template<class T> | |
| LnZeroCapacity | line::ln::ln_zero_capacity (const lqn::LqnStruct< T > &lqn) |
| Port of ln_zero_capacity.m; see the file header. | |
Reference tasks trapped at a zero-capacity element of a layered network.
Port of matlab/src/solvers/LN/ln_zero_capacity.m.
A processor or a non-reference task of multiplicity 0 never serves a request. A reference task that reaches one through synchronous calls with positive probability ends, in steady state, with all of its users stuck on that call path (nested blocking): every throughput it drives is 0, the response times along the path are Inf, and each task, entry and activity on the path holds the requests stuck below it, the dead task holding those queued at it. A trapped request holds task threads only, never a processor, so the other reference tasks are solved as if the trapped ones were absent.
Every vector is indexed by LQN element, 1-based, (nidx+1) long: dead zero-capacity processors and tasks trapped reference tasks whose users are all trapped onroute elements on a blocked call path held requests each element holds in the trapped state ignore elements no live reference task or open arrival reaches, to drop from the layers live true when some reference task or open arrival is still served reason non-empty when the trapped state is ambiguous or does not exist
Definition in file ln_zero_capacity.h.