1%{ @file retrieval_metrics.m
2 % @brief Performance metrics of a delayed-hit (list-based) cache
4 % @author LINE Development Team
8 % @brief Computes miss, hit and delayed-hit metrics
for a delayed-hit cache
11 % Evaluates the performance measures of Proposition
"prop:performance_measures"
12 %
for a list-based cache with delayed hits whose retrieval system has one IS
13 % station (s=0) and r PS stations (s=1,...,r). Letting E(m)=E(0,m) be the
14 % normalizing constant and E_i the constant of the system without item i (both
15 % computed with retrieval_nc), the metrics are
17 % miss ratio pi_{i,0} = E_i(m)/E(m)
18 % hit ratio (list j) pi_{i,j} = m_j*gamma_{i,j}*E_i(m-1_j)/E(m)
19 % delayed hit (IS) phi_{0,i} = lambda_i*eta_{0,i}*E_i(m)/E(m)
20 % delayed hit (PS s) phi_{s,i} = lambda_i*eta_{s,i}*E_i(1_s,m)/E(m)
22 % These satisfy the balance pi_{i,0} + sum_s phi_{s,i} + sum_j pi_{i,j} = 1
for
23 % every item i (eq. balance).
27 % [pmiss, phit, pdh] = retrieval_metrics(m, lambda, eta, gamma)
32 % <tr><th>Name<th>Description
33 % <tr><td>m<td>Cache list capacities (1 x h)
34 % <tr><td>lambda<td>Per-item arrival rates (1 x n)
35 % <tr><td>eta<td>Fetching demands eta(i,s+1)=eta_{s,i} (column 1 = IS station s=0, columns 2..r+1 = PS stations), (n x (r+1)). A PS column models any symmetric/identical-rate single-server discipline (PS, SIRO, FCFS, LCFS-PR), insensitive to the per-list service order.
36 % <tr><td>gamma<td>Access factors gamma(i,j)=gamma_{i,j}, (n x h)
41 % <tr><th>Name<th>Description
42 % <tr><td>pmiss<td>Miss ratios pi_{i,0}, (1 x n)
43 % <tr><td>phit<td>Hit ratios pi_{i,j}, (h x n)
44 % <tr><td>pdh<td>Delayed-hit probabilities phi_{s,i} for s=0,...,r, ((r+1) x n)
47function [pmiss,phit,pdh]=retrieval_metrics(m,lambda,eta,gamma)
54E = retrieval_nc(v0,m,lambda,eta,gamma);
61 keep = [1:i-1, i+1:n];
62 lambda_i = lambda(keep);
64 gamma_i = gamma(keep,:);
66 % miss ratio: pi_{i,0} = E_i(m)/E(m)
67 Ei = retrieval_nc(v0,m,lambda_i,eta_i,gamma_i);
70 % delayed hit at the IS station s=0: phi_{0,i} = lambda_i*eta_{0,i}*E_i(m)/E(m)
71 pdh(1,i) = lambda(i)*eta(i,1)*Ei/E;
73 % delayed hit at PS station s=1,...,r: phi_{s,i} = lambda_i*eta_{s,i}*E_i(1_s,m)/E(m)
77 Eis = retrieval_nc(vs,m,lambda_i,eta_i,gamma_i);
78 pdh(s+1,i) = lambda(i)*eta(i,s+1)*Eis/E;
81 % hit ratio at list j=1,...,h: pi_{i,j} = m_j*gamma_{i,j}*E_i(m-1_j)/E(m)
84 Eij = retrieval_nc(v0,oner(m,j),lambda_i,eta_i,gamma_i);
85 phit(j,i) = m(j)*gamma(i,j)*Eij/E;