LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::SolverFLD Class Reference

SolverFLD: the fluid solver, which also answers a transient. More...

#include <line/solvers/solver.h>

Inheritance diagram for line::SolverFLD:
Collaboration diagram for line::SolverFLD:

Public Member Functions

 SolverFLD (Network &m, const SolverOptions &o=SolverOptions())
 SolverFLD (Network &m, const std::string &method)
TranAvg tran_avg ()
 getTranAvg(): the transient mean queue length per station.
std::vector< std::vector< CdfCurve > > cdf_respt ()
 getCdfRespT(): the response-time CDF per (station, class).
Public Member Functions inherited from line::NetworkSolver
virtual ~NetworkSolver ()
const std::string & get_name () const
 getName(): the solver's own name, e.g.
const SolverOptions & options () const
 The options this solver was built with.
Network & model () const
 The model this solver was built on.
const AvgTable & avg_table ()
 getAvgTable(): the average table, solving on first demand.
AvgSysTable avg_sys_table ()
 getAvgSysTable(): per-chain system response time and throughput of the same solve.
AvgMetricTable avg_qlen_table ()
 getAvgQLenTable(): avg_table()'s Station, JobClass and QLen columns.
AvgMetricTable avg_util_table ()
 getAvgUtilTable(): avg_table()'s Station, JobClass and Util columns.
AvgMetricTable avg_respt_table ()
 getAvgRespTTable(): avg_table()'s Station, JobClass and RespT columns.
AvgMetricTable avg_tput_table ()
 getAvgTputTable(): avg_table()'s Station, JobClass and Tput columns.
std::vector< double > avg_sys_respt ()
 getAvgSysRespT(): the per-chain system response time column of avg_sys_table.
std::vector< double > avg_sys_tput ()
 getAvgSysTput(): the per-chain system throughput column of avg_sys_table.
AvgChain avg_chain ()
 getAvgChain(): the station table of the same solve aggregated by chain, (nstations x nchains).
Matrix< double > avg_qlen_chain ()
 getAvgQLenChain() and its siblings: one matrix of avg_chain() each.
Matrix< double > avg_util_chain ()
Matrix< double > avg_respt_chain ()
Matrix< double > avg_residt_chain ()
Matrix< double > avg_arvr_chain ()
Matrix< double > avg_tput_chain ()
AvgChainTable avg_chain_table ()
 getAvgChainTable(): avg_chain() as a labelled table, one row per (station, chain).
const AvgTable & run_analyzer ()
 runAnalyzer(): force the solve, returning the table it produced.
std::vector< std::string > list_valid_methods () const
 listValidMethods(): the methods this solver advertises on this model.
bool is_solved () const
 isSolved() / hasResults(): whether a solve has been performed.
void reset ()
 reset(): discard the cached solve.
std::string method_used ()
 getMethodUsed(): the method the solve actually resolved to.
const solvers::CacheMetrics< double > & cache_metrics ()
 What the same solve observed at each Cache node, the data behind getAvgCacheTable() and getAvgItemTable().
std::vector< double > hit_ratio (const std::string &cache)
 cache.getHitRatio() after the solve: the per-class hit probability at the named Cache, NaN for a class that does not read it.
std::vector< double > hit_ratio (const Node &cache)
std::vector< double > miss_ratio (const std::string &cache)
 cache.getMissRatio() after the solve, with hit_ratio's conventions.
std::vector< double > miss_ratio (const Node &cache)
const solvers::FjMetrics< double > & avg_fj ()
 getAvgFJ(): the fork-join section metrics of the same solve, one row per Fork/Join pair (fj_sorted_pairs), one column per class.
AvgFJTable avg_fj_table ()
 getAvgFJTable() (aliases getAvgFJT, fjAvgT, aFJT): the same metrics as a labelled table.
AvgFJTable avg_fjt ()
AvgFJTable fj_avg_t ()

Additional Inherited Members

Protected Member Functions inherited from line::NetworkSolver
 NetworkSolver (Network &m, const std::string &name, const SolverOptions &o)
Protected Attributes inherited from line::NetworkSolver
Network * model_
std::string name_
SolverOptions opts_
AvgTable table_
solvers::CacheMetrics< double > cache_
solvers::FjMetrics< double > fj_
bool solved_ = false

Detailed Description

SolverFLD: the fluid solver, which also answers a transient.

Definition at line 417 of file solver.h.

Constructor & Destructor Documentation

◆ SolverFLD() [1/2]

line::SolverFLD::SolverFLD ( Network & m,
const SolverOptions & o = SolverOptions() )
inlineexplicit

◆ SolverFLD() [2/2]

line::SolverFLD::SolverFLD ( Network & m,
const std::string & method )
inline

Definition at line 421 of file solver.h.

References line::NetworkSolver::NetworkSolver().

Member Function Documentation

◆ cdf_respt()

std::vector< std::vector< CdfCurve > > line::SolverFLD::cdf_respt ( )

getCdfRespT(): the response-time CDF per (station, class).

Definition at line 1454 of file solver_facade.cpp.

References line::qn::Network< T >::get_struct(), line::NetworkSolver::model_, line::NetworkSolver::opts_, and line::fluid::solver_fluid_cdf_respt().

◆ tran_avg()

TranAvg line::SolverFLD::tran_avg ( )

The documentation for this class was generated from the following files: