![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Everything one CTMC solve produces. More...
#include <line/solvers/ctmc/solver_ctmc_analyzer.h>
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. | |
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.
| std::string line::ctmc::CtmcSolution< T >::actualmethod = "default" |
Definition at line 241 of file solver_ctmc_analyzer.h.
Referenced by line::ctmc::solve_struct(), line::ctmc::solver_ctmc_avg_table(), and line::ctmc::solver_ctmc_mdd_run_analyzer().
| CtmcAvg<T> line::ctmc::CtmcSolution< T >::avg |
Definition at line 239 of file solver_ctmc_analyzer.h.
Referenced by line::ctmc::ctmc_get_preempt_rate(), line::ctmc::ctmc_get_start_rate(), line::ctmc::solve_struct(), line::ctmc::solver_ctmc_analyzer(), line::ctmc::solver_ctmc_avg_table(), and line::ctmc::solver_ctmc_mdd_run_analyzer().
| 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().
| CtmcResult<T> line::ctmc::CtmcSolution< T >::chain |
Definition at line 237 of file solver_ctmc_analyzer.h.
Referenced by line::ctmc::ctmc_cdf_firstpasst(), line::ctmc::ctmc_firstpasst_moments(), line::ctmc::ctmc_get_generator(), line::ctmc::ctmc_get_state_space(), line::ctmc::ctmc_get_state_space_aggr(), line::ctmc::ctmc_get_state_space_aggr(), line::ctmc::solve_struct(), line::ctmc::solver_ctmc_fes_aggregation(), line::ctmc::solver_ctmc_joint(), line::ctmc::solver_ctmc_jointaggr(), line::ctmc::solver_ctmc_marg(), line::ctmc::solver_ctmc_margaggr(), line::ctmc::solver_ctmc_sensitivity(), and line::ldes::warm_start_placement_from_ctmc().
| 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().
| 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().
| std::vector<T> line::ctmc::CtmcSolution< T >::pi |
stationary distribution over chain.space
Definition at line 238 of file solver_ctmc_analyzer.h.
Referenced by line::SolverCTMC::marg_aggr(), line::SolverCTMC::prob_aggr(), line::ctmc::solve_struct(), line::ctmc::solver_ctmc_fes_aggregation(), line::ctmc::solver_ctmc_joint(), line::ctmc::solver_ctmc_jointaggr(), line::ctmc::solver_ctmc_marg(), line::ctmc::solver_ctmc_margaggr(), line::ctmc::solver_ctmc_sensitivity(), and line::ldes::warm_start_placement_from_ctmc().
| 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().
| 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().