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

Quorum joins: how many siblings a Join fires on, and what that drops. More...

#include <cmath>
#include <cstddef>
#include <map>
#include "line/lang/qn/network_struct.h"
#include "line/num/number.h"
Include dependency graph for sn_join_droprate.h:

Go to the source code of this file.

Namespaces

namespace  line
namespace  line::sn

Functions

template<class T>
std::size_t line::sn::sn_join_quorum (const qn::NetworkStruct< T > &sn, std::size_t joinNode, std::size_t nbranches)
 The number of siblings the Join node joinNode (1-based) fires on, out of nbranches forked.
template<class T>
Matrix< T > line::sn::sn_join_droprate (const qn::NetworkStruct< T > &sn, const Matrix< T > &TN, const Matrix< T > &AN)
 Rate at which sibling tasks are discarded at each Join, as an (nstations x nclasses) matrix that is zero away from the Join rows.

Detailed Description

Quorum joins: how many siblings a Join fires on, and what that drops.

sn_join_quorum reports the quorum of a Join node and sn_join_droprate the rate at which forked siblings are discarded because the join already fired. Under a quorum of k out of n, the n-k slowest siblings never reach the join and their work is lost; a standard join has a quorum of n and drops nothing.

Definition in file sn_join_droprate.h.