LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::lqn::ServerPools< T > Struct Template Reference

Heterogeneous server pools declared on a layer server, the twin of the nservertypes / servertypenames / serverspertype / servercompat / heterorates block a Network carries in sn.nodeparam{i}. More...

#include <line/lang/lqn/lqn_struct.h>

Collaboration diagram for line::lqn::ServerPools< T >:

Public Member Functions

bool empty () const
std::size_t npools () const

Public Attributes

std::vector< std::string > names
 (npools) declared pool name
std::vector< double > counts
 (npools) servers held by each pool
std::vector< T > rates
 (npools) per-pool rate multiplier
Matrix< T > compat
 (npools x noperands), nonzero = eligible

Detailed Description

template<class T>
struct line::lqn::ServerPools< T >

Heterogeneous server pools declared on a layer server, the twin of the nservertypes / servertypenames / serverspertype / servercompat / heterorates block a Network carries in sn.nodeparam{i}.

compat(t, j) is nonzero when pool t may serve OPERAND j – task j of a host, entry j of a task, in declaration order, the same operand space the class- and joint-dependence handles read. SolverLN lowers the pools to the activated-server rate mu(n) = sum_t counts(t)*rates(t)*[pool t compatible with some operand present], which is order-independent, and hands it to the layer station as a joint dependence; see _kb/06-solver-catalog.md (LN section).

Definition at line 79 of file lqn_struct.h.

Member Function Documentation

◆ empty()

template<class T>
bool line::lqn::ServerPools< T >::empty ( ) const
inline

Definition at line 85 of file lqn_struct.h.

References names.

◆ npools()

template<class T>
std::size_t line::lqn::ServerPools< T >::npools ( ) const
inline

Definition at line 86 of file lqn_struct.h.

References names.

Referenced by line::lqn::lqn_finalize().

Member Data Documentation

◆ compat

template<class T>
Matrix<T> line::lqn::ServerPools< T >::compat

(npools x noperands), nonzero = eligible

Definition at line 83 of file lqn_struct.h.

Referenced by line::lqn::lqn_finalize().

◆ counts

template<class T>
std::vector<double> line::lqn::ServerPools< T >::counts

(npools) servers held by each pool

Definition at line 81 of file lqn_struct.h.

Referenced by line::lqn::lqn_finalize().

◆ names

template<class T>
std::vector<std::string> line::lqn::ServerPools< T >::names

(npools) declared pool name

Definition at line 80 of file lqn_struct.h.

Referenced by empty(), line::lqn::lqn_finalize(), and npools().

◆ rates

template<class T>
std::vector<T> line::lqn::ServerPools< T >::rates

(npools) per-pool rate multiplier

Definition at line 82 of file lqn_struct.h.

Referenced by line::lqn::lqn_finalize().


The documentation for this struct was generated from the following file: