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

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"
Include dependency graph for cache_ttl_lrum_map.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.

Detailed Description

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.