![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
TTL approximation of an LRU(m) cache whose items are requested by Markovian arrival processes. More...
#include <cstddef>#include <vector>#include "line/api/cache/cache_lrum_map_levelstats.h"#include "line/api/cache/cache_t_lrum_map.h"#include "line/api/mam/map_moment.h"#include "line/num/number.h"#include "line/util/error.h"#include "line/util/matrix.h"Go to the source code of this file.
Classes | |
| struct | line::cache::CacheTtlLrumMapResult< T > |
| Request-weighted and time-stationary level probabilities. More... | |
Namespaces | |
| namespace | line |
| namespace | line::cache |
Functions | |
| template<class T> | |
| CacheTtlLrumMapResult< T > | line::cache::cache_ttl_lrum_map (const std::vector< mam::Map< T > > &items, const std::vector< T > &m, const T &tol) |
| TTL approximation of an LRU(m) cache whose items are requested by Markovian arrival processes. | |
TTL approximation of an LRU(m) cache whose items are requested by Markovian arrival processes.
Templated port of matlab/src/api/cache/cache_ttl_lrum_map.m, cross-checked against jar/src/main/java/jline/api/cache/Cache_ttl_lrum_map.java. Solves the characteristic times with cache_t_lrum_map and then reports, per item, the request-weighted hit probabilities of each list and the time-stationary level occupancies (Gast and Van Houdt, Performance Evaluation 2017).
This is the model to use when the items have genuinely distinct or correlated request processes; when items are i.i.d. marks of a common stream the request sequence is IRM and the Poisson-based approximations (cache_ttl_lrua, cache_ttl_hlru) already apply.
ARITHMETIC: transcendental, through cache_lrum_map_levelstats.
The miss column follows MATLAB exactly, pij(k,0) = max(0, 1 - sum_l hitfrac(k,l)): the hit fractions come from a fixed point and can overshoot one by a rounding-scale amount, and the clamp is part of the reference definition rather than a workaround added here.
Definition in file cache_ttl_lrum_map.h.