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

Everything one CTMC solve produces. More...

#include <line/solvers/ctmc/solver_ctmc_analyzer.h>

Collaboration diagram for line::ctmc::CtmcSolution< T >:

Public Attributes

CtmcResult< T > chain
std::vector< T > pi
 stationary distribution over chain.space
CtmcAvg< T > avg
std::vector< std::size_t > cutoff
 the per-class cutoff actually used
std::string actualmethod = "default"
std::vector< std::size_t > fjclassmap
 fjclassmap when the model was fork-join, empty otherwise: the ORIGINAL class of each auxiliary sibling class of the AUGMENTED struct that chain and pi are indexed by.
std::shared_ptr< const NetworkStruct< T > > solved_sn
 The struct the chain was built on, when it differs from the caller's in its state LAYOUT: set when heterogeneous server pools or a MAP service in pair form were rewritten (ctmc_pools, ctmc_mapc), so every reader decoding chain.space must use it.
solvers::CacheMetrics< T > cache
 What the chain says about the model's Cache nodes: exact, since the hit and miss shares are read off the stationary law rather than approximated.
std::string warning
 Set when the chain is a reducible mixture solved from an invented seed.

Detailed Description

template<class T>
struct line::ctmc::CtmcSolution< T >

Everything one CTMC solve produces.

chain is the generator RESTRICTED to the component that was kept, together with the state space and the per-state arrival and departure rates on it. The rates are carried rather than recomputed because Q has already summed every synchronization's contribution into one entry, and a per-class rate cannot be recovered from that sum afterwards.

Definition at line 236 of file solver_ctmc_analyzer.h.

Member Data Documentation

◆ actualmethod

template<class T>
std::string line::ctmc::CtmcSolution< T >::actualmethod = "default"

◆ avg

◆ cache

template<class T>
solvers::CacheMetrics<T> line::ctmc::CtmcSolution< T >::cache

What the chain says about the model's Cache nodes: exact, since the hit and miss shares are read off the stationary law rather than approximated.

Empty on a model with no Cache.

Definition at line 261 of file solver_ctmc_analyzer.h.

Referenced by line::ctmc::solve_struct(), and line::ctmc::solver_ctmc_avg_table().

◆ chain

◆ cutoff

template<class T>
std::vector<std::size_t> line::ctmc::CtmcSolution< T >::cutoff

the per-class cutoff actually used

Definition at line 240 of file solver_ctmc_analyzer.h.

Referenced by line::ctmc::solve_struct().

◆ fjclassmap

template<class T>
std::vector<std::size_t> line::ctmc::CtmcSolution< T >::fjclassmap

fjclassmap when the model was fork-join, empty otherwise: the ORIGINAL class of each auxiliary sibling class of the AUGMENTED struct that chain and pi are indexed by.

avg is already folded back onto the original classes, so this is what relates the two index spaces.

Definition at line 248 of file solver_ctmc_analyzer.h.

Referenced by line::ctmc::solver_ctmc_analyzer(), and line::ldes::warm_start_placement_from_ctmc().

◆ pi

◆ solved_sn

template<class T>
std::shared_ptr<const NetworkStruct<T> > line::ctmc::CtmcSolution< T >::solved_sn

The struct the chain was built on, when it differs from the caller's in its state LAYOUT: set when heterogeneous server pools or a MAP service in pair form were rewritten (ctmc_pools, ctmc_mapc), so every reader decoding chain.space must use it.

Null otherwise.

Definition at line 255 of file solver_ctmc_analyzer.h.

Referenced by line::ctmc::ctmc_get_generator(), line::ctmc::ctmc_get_state_space_aggr(), line::ctmc::ctmc_get_state_space_aggr(), line::ctmc::solve_struct(), line::ctmc::solver_ctmc_jointaggr(), and line::ctmc::solver_ctmc_margaggr().

◆ warning

template<class T>
std::string line::ctmc::CtmcSolution< T >::warning

Set when the chain is a reducible mixture solved from an invented seed.

Definition at line 263 of file solver_ctmc_analyzer.h.

Referenced by line::ctmc::solve_struct().


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