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

One Cache node's measured behaviour. More...

#include <line/solvers/cache_metrics.h>

Collaboration diagram for line::solvers::CacheNodeMetrics< T >:

Public Attributes

std::size_t node = 0
 1-based node index of the Cache
std::string name
 The Cache node's NAME, which is what a cross-language payload must key on.
std::vector< double > itemcap
 (h) capacity of each list
std::vector< double > itemsize
 (n) storage cost per item, EMPTY without setItemSizes
std::size_t nitems = 0
std::vector< T > hitprob
 (K) TRUE hit fraction, EMPTY = not computed
std::vector< T > missprob
 (K)
std::vector< T > delayedprob
 (K) delayed-hit fraction, EMPTY off a retrieval system
std::vector< T > latency
 (K) expected retrieval latency, EMPTY = not computed
Matrix< T > hitproblist
 (K x h) per-list hit fraction, EMPTY = not computed
Matrix< T > itemprob
 (n x h+1), column 0 = miss; EMPTY = not computed
std::vector< T > listcost
 (h) mean storage cost held by each list
std::vector< T > delayedhitqlen
 (n) mean secondary requests waiting on the in-flight fetch of each item, and the same including the request that triggered the fetch.
std::vector< T > delayedhitqlenfull

Detailed Description

template<class T>
struct line::solvers::CacheNodeMetrics< T >

One Cache node's measured behaviour.

Definition at line 44 of file cache_metrics.h.

Member Data Documentation

◆ delayedhitqlen

template<class T>
std::vector<T> line::solvers::CacheNodeMetrics< T >::delayedhitqlen

(n) mean secondary requests waiting on the in-flight fetch of each item, and the same including the request that triggered the fetch.

EMPTY off a retrieval system and off every solver that does not form the per-item law of block B; only the exact chain does, which is why the reference computes them in SolverCTMC alone. They are the DelayedHitQLen columns of getAvgItemTable.

Definition at line 75 of file cache_metrics.h.

◆ delayedhitqlenfull

template<class T>
std::vector<T> line::solvers::CacheNodeMetrics< T >::delayedhitqlenfull

Definition at line 75 of file cache_metrics.h.

◆ delayedprob

template<class T>
std::vector<T> line::solvers::CacheNodeMetrics< T >::delayedprob

(K) delayed-hit fraction, EMPTY off a retrieval system

Definition at line 62 of file cache_metrics.h.

Referenced by line::solvers::cache_metrics_of(), line::ssa::cache_metrics_of_ssa(), and line::solvers::node_metrics().

◆ hitprob

template<class T>
std::vector<T> line::solvers::CacheNodeMetrics< T >::hitprob

(K) TRUE hit fraction, EMPTY = not computed

Definition at line 60 of file cache_metrics.h.

Referenced by line::solvers::cache_metrics_of(), line::ssa::cache_metrics_of_ssa(), and line::solvers::node_metrics().

◆ hitproblist

template<class T>
Matrix<T> line::solvers::CacheNodeMetrics< T >::hitproblist

(K x h) per-list hit fraction, EMPTY = not computed

Definition at line 64 of file cache_metrics.h.

Referenced by line::solvers::cache_metrics_of().

◆ itemcap

template<class T>
std::vector<double> line::solvers::CacheNodeMetrics< T >::itemcap

(h) capacity of each list

Definition at line 57 of file cache_metrics.h.

Referenced by line::solvers::cache_metrics_of().

◆ itemprob

template<class T>
Matrix<T> line::solvers::CacheNodeMetrics< T >::itemprob

(n x h+1), column 0 = miss; EMPTY = not computed

Definition at line 65 of file cache_metrics.h.

Referenced by line::solvers::cache_metrics_of().

◆ itemsize

template<class T>
std::vector<double> line::solvers::CacheNodeMetrics< T >::itemsize

(n) storage cost per item, EMPTY without setItemSizes

Definition at line 58 of file cache_metrics.h.

Referenced by line::solvers::cache_metrics_of().

◆ latency

template<class T>
std::vector<T> line::solvers::CacheNodeMetrics< T >::latency

(K) expected retrieval latency, EMPTY = not computed

Definition at line 63 of file cache_metrics.h.

Referenced by line::solvers::cache_metrics_of(), and line::ssa::cache_metrics_of_ssa().

◆ listcost

template<class T>
std::vector<T> line::solvers::CacheNodeMetrics< T >::listcost

(h) mean storage cost held by each list

Definition at line 66 of file cache_metrics.h.

Referenced by line::solvers::cache_metrics_of().

◆ missprob

template<class T>
std::vector<T> line::solvers::CacheNodeMetrics< T >::missprob

◆ name

template<class T>
std::string line::solvers::CacheNodeMetrics< T >::name

The Cache node's NAME, which is what a cross-language payload must key on.

node is an index into THIS struct's node order, and that order is not the model.json declaration order: on retrieval_simple the JSON declares Source, Cache, Queue, Sink while the struct holds Source, Queue, Sink, Cache, so the Cache is 2 to MATLAB and 4 here. A host restoring results by index therefore wrote onto the Sink, found no Cache, and silently kept the previous solver's numbers – see CPPLINE.restoreCacheResults.

Definition at line 56 of file cache_metrics.h.

Referenced by line::solvers::cache_metrics_of().

◆ nitems

template<class T>
std::size_t line::solvers::CacheNodeMetrics< T >::nitems = 0

Definition at line 59 of file cache_metrics.h.

Referenced by line::solvers::cache_metrics_of().

◆ node

template<class T>
std::size_t line::solvers::CacheNodeMetrics< T >::node = 0

1-based node index of the Cache

Definition at line 45 of file cache_metrics.h.

Referenced by line::solvers::cache_metrics_of(), and line::solvers::node_metrics().


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