![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
The layered result: per element, the mean measures. More...
#include <line/solvers/ldes/ldes_ln_engine.h>
Public Attributes | |
| std::size_t | nidx = 0 |
| Matrix< double > | QLN |
| Matrix< double > | ULN |
| Matrix< double > | RLN |
| Matrix< double > | TLN |
| Matrix< double > | UThreadLN |
| Busy THREADS of each task over its thread capacity (threads times replicas), the integral of the threads held, and 0 at every other element. | |
| Matrix< double > | WLN |
| Residence time per element, the ResidT column: the time an activity holds ITS HOST PROCESSOR per visit of the request stream driving its task, and for a task the sum over its activities. | |
| std::vector< std::vector< double > > | entry_resp_samples |
| Every per-request ENTRY response time observed, one vector per entry in LOCAL index space (0..nentries-1). | |
| double | simulated_time = 0.0 |
| Length of the MEASURED span, from the end of warmup to the end of the run. | |
| double | warmup_time = 0.0 |
| Simulation time at which warmup ended and the statistics were reset. | |
| long long | completions = 0 |
| Reference-task cycles completed in the measured span. | |
| long long | events = 0 |
| Activity completions over the whole run, warmup included: what the budget counts. | |
| std::vector< std::size_t > | cache_task |
| Cache measures, one row per ItemEntry that was read, pooled over the replicas of its cache task as Solver_ssj_ln pools them: element indices of the task and of the entry, the hit, miss and delayed-hit probabilities per read, and the read rate. | |
| std::vector< std::size_t > | cache_entry |
| std::vector< double > | cache_hit |
| std::vector< double > | cache_miss |
| std::vector< double > | cache_delayed |
| std::vector< double > | cache_read_rate |
The layered result: per element, the mean measures.
Definition at line 301 of file ldes_ln_engine.h.
| std::vector<double> line::ldes::engine::LnResult::cache_delayed |
Definition at line 348 of file ldes_ln_engine.h.
| std::vector<std::size_t> line::ldes::engine::LnResult::cache_entry |
Definition at line 347 of file ldes_ln_engine.h.
| std::vector<double> line::ldes::engine::LnResult::cache_hit |
Definition at line 348 of file ldes_ln_engine.h.
| std::vector<double> line::ldes::engine::LnResult::cache_miss |
Definition at line 348 of file ldes_ln_engine.h.
| std::vector<double> line::ldes::engine::LnResult::cache_read_rate |
Definition at line 348 of file ldes_ln_engine.h.
| std::vector<std::size_t> line::ldes::engine::LnResult::cache_task |
Cache measures, one row per ItemEntry that was read, pooled over the replicas of its cache task as Solver_ssj_ln pools them: element indices of the task and of the entry, the hit, miss and delayed-hit probabilities per read, and the read rate.
Hit + miss + delayed = 1.
Definition at line 347 of file ldes_ln_engine.h.
| long long line::ldes::engine::LnResult::completions = 0 |
Reference-task cycles completed in the measured span.
Definition at line 338 of file ldes_ln_engine.h.
| std::vector<std::vector<double> > line::ldes::engine::LnResult::entry_resp_samples |
Every per-request ENTRY response time observed, one vector per entry in LOCAL index space (0..nentries-1).
RLN at the entry indices is their mean; these are the observations themselves, which is what an empirical CDF has to be built from – a law fitted to the mean says nothing about the tail, and the tail is the reason to ask a simulator at all.
Definition at line 332 of file ldes_ln_engine.h.
Referenced by line::ldes::engine::ldes_ln_cdf_respt().
| long long line::ldes::engine::LnResult::events = 0 |
Activity completions over the whole run, warmup included: what the budget counts.
Definition at line 340 of file ldes_ln_engine.h.
| std::size_t line::ldes::engine::LnResult::nidx = 0 |
Definition at line 302 of file ldes_ln_engine.h.
Referenced by line::ldes::engine::ln_defined().
| Matrix<double> line::ldes::engine::LnResult::QLN |
Definition at line 303 of file ldes_ln_engine.h.
| Matrix<double> line::ldes::engine::LnResult::RLN |
Definition at line 303 of file ldes_ln_engine.h.
| double line::ldes::engine::LnResult::simulated_time = 0.0 |
Length of the MEASURED span, from the end of warmup to the end of the run.
Definition at line 334 of file ldes_ln_engine.h.
| Matrix<double> line::ldes::engine::LnResult::TLN |
Definition at line 303 of file ldes_ln_engine.h.
| Matrix<double> line::ldes::engine::LnResult::ULN |
Definition at line 303 of file ldes_ln_engine.h.
| Matrix<double> line::ldes::engine::LnResult::UThreadLN |
Busy THREADS of each task over its thread capacity (threads times replicas), the integral of the threads held, and 0 at every other element.
It is NOT the task's ULN: since 2026-10-03 that is the derived figure Solver_ssj_ln reports, the sum over the task's activities of throughput times host demand, over the host processor's multiplicity. A thread held across a nested call or a phase-2 tail is busy here and contributes nothing there; this field keeps the measured occupancy of the thread pool for whoever needs it.
Definition at line 312 of file ldes_ln_engine.h.
| double line::ldes::engine::LnResult::warmup_time = 0.0 |
Simulation time at which warmup ended and the statistics were reset.
Definition at line 336 of file ldes_ln_engine.h.
| Matrix<double> line::ldes::engine::LnResult::WLN |
Residence time per element, the ResidT column: the time an activity holds ITS HOST PROCESSOR per visit of the request stream driving its task, and for a task the sum over its activities.
NOT the response time RLN, which also carries the nested synchronous calls the activity makes. NaN at the element kinds that have no residence – processors and entries – because a zero residence is a claim (nothing is held there) and this is the absence of one, the same convention SolverLN and LQNS report.
Definition at line 324 of file ldes_ln_engine.h.
Referenced by line::ldes::engine::ln_defined().