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

Port of solver_nc_cacheqn_retrieval_analyzer.m: a CLOSED integrated cache-queueing model whose Cache carries a delayed-hit retrieval system. More...

#include <cmath>
#include <cstddef>
#include <limits>
#include <vector>
#include "line/api/da/da_cacheqn_retrieval.h"
#include "line/lang/qn/network_struct.h"
#include "line/solvers/nc/nc_dispatch.h"
#include "line/solvers/nc/nc_types.h"
#include "line/util/error.h"
Include dependency graph for solver_nc_cacheqn_retrieval.h:

Go to the source code of this file.

Classes

struct  line::nc::NcCacheqnRetrievalSolution< T >
 What the closed delayed-hit analyzer returns. More...

Namespaces

namespace  line
namespace  line::nc

Functions

template<class T>
NcCacheqnRetrievalSolution< T > line::nc::solver_nc_cacheqn_retrieval_analyzer (const qn::NetworkStruct< T > &sn, const NcSolverOptions &opt)
 Port of solver_nc_cacheqn_retrieval_analyzer.m.

Detailed Description

Port of solver_nc_cacheqn_retrieval_analyzer.m: a CLOSED integrated cache-queueing model whose Cache carries a delayed-hit retrieval system.

THIS FILE IS GLUE. All the work is in da_cacheqn_retrieval, which alternates the isolated-cache solve with the network solve; this supplies only the NETWORK SOLVER and unpacks the result. The load-dependent path is not optional here: the driver installs a coupon-collector lldscaling on the fetch station, so the network solve must be the LOAD-DEPENDENT analyzer whenever scaling is present – which, after the driver has run, it always is. nc_dispatch selects it on exactly that test.

THE THREE-WAY SPLIT COLLAPSES ON THIS PATH, deliberately. The reference reports hitprob as P(item cached) and folds the delayed-hit fraction into missprob, returning delayedprob = 0. Only the OPEN analyzer (solver_nc_retrieval.h) separates true hits from delayed hits. That is why hitproblist and latency are NaN here and itemprob is empty: they are quantities this path does not compute, and reporting a number for them would be inventing one.

Definition in file solver_nc_cacheqn_retrieval.h.