1%{ @file cache_ttl_lrum_map.m
2 % @brief TTL approximation of LRU(m) caches under MAP request streams
4 % @author LINE Development Team
8 % @brief Request-weighted hit/miss probabilities
for LRU(m) with MAP requests
11 % Front-end of
the Gast-Van Houdt (Performance Evaluation 2017) TTL
12 % approximation
for LRU(m) caches whose items have Markovian arrival
13 % process request streams. Intended
for items with genuinely distinct or
14 % correlated request processes (e.g. marked MAP arrivals); when items are
15 % i.i.d. marks of a common stream
the request sequence
is IRM and
the
16 % Poisson-based TTL approximations already apply.
20 % [pij, pijtime] = cache_ttl_lrum_map(D0c, D1c, m)
25 % <tr><th>Name<th>Description
26 % <tr><td>D0c<td>Cell (1,n); D0c{k}
is the (d,d) hidden-transition matrix of item k
27 % <tr><td>D1c<td>Cell (1,n); D1c{k}
is the (d,d) arrival matrix of item k
28 % <tr><td>m<td>Cache capacity vector (1,h)
33 % <tr><th>Name<th>Description
34 % <tr><td>pij<td>(n,h+1) request-weighted probabilities;
column 1
is the
35 % probability that a request for item k misses,
column 1+l
36 %
the probability that it hits in list l
37 % <tr><td>pijtime<td>(n,h+1) time-stationary level occupancy probabilities
40function [pij, pijtime] = cache_ttl_lrum_map(D0c, D1c, m)
44t = cache_t_lrum_map(D0c, D1c, m);
47pijtime = zeros(n, h+1);
49 [prob, ~, hitfrac] = cache_lrum_map_levelstats(D0c{k}, D1c{k}, t);
51 pij(k, 2:end) = hitfrac;
52 pij(k, 1) = max(0, 1 - sum(hitfrac));