LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
solver_mva_cacheqn_retrieval_analyzer.m
1function [QN,UN,RN,TN,CN,XN,lG,hitprob,missprob,delayedprob,hitproblist,itemprob,latency,runtime,method] = solver_mva_cacheqn_retrieval_analyzer(sn, options)
2% [...] = SOLVER_MVA_CACHEQN_RETRIEVAL_ANALYZER(SN, OPTIONS)
3%
4% Analyzer for a CLOSED integrated cache-queueing model whose Cache node has a
5% delayed-hit retrieval system. Delegates to da_cacheqn_retrieval, which relabels
6% the cache as a class switch and lets the finite-population coalescing emerge from
7% the closed AMVA via a load-dependent fetch station. Returns the true cache
8% hit/miss probabilities (hit = P(item cached), miss = 1 - hit); the delayed-hit
9% fraction is folded into miss (delayedprob = 0).
10%
11% Copyright (c) 2012-2026, Imperial College London
12% All rights reserved.
13
14T0 = tic;
15[res, hitprob, missprob, delayedprob, ~, ~] = da_cacheqn_retrieval(sn, @(snit) netsolve(snit, options), options);
16
17QN = res.QN; UN = res.UN; RN = res.RN; TN = res.TN; XN = res.XN;
18if isfield(res,'CN'), CN = res.CN; else, CN = NaN(1, sn.nclasses); end
19if isfield(res,'lG'), lG = res.lG; else, lG = NaN; end
20
21K = sn.nclasses;
22hitproblist = NaN(K, numel(sn.nodeparam{find(sn.nodetype==NodeType.Cache,1)}.itemcap));
23itemprob = [];
24latency = NaN(1, K);
25method = 'fpi';
26runtime = toc(T0);
27
28 function res = netsolve(snit, options)
29 res = struct();
30 if ~isempty(snit.lldscaling) || ~isempty(snit.cdscaling)
31 [res.Q,res.U,res.R,res.T,res.C,res.X,res.lG,res.runtime] = solver_mvald_analyzer(snit, options);
32 else
33 [res.Q,res.U,res.R,res.T,res.C,res.X,res.lG,res.runtime] = solver_mva_analyzer(snit, options);
34 end
35 res.QN = res.Q; res.UN = res.U; res.RN = res.R; res.TN = res.T; res.XN = res.X; res.CN = res.C;
36 end
37end
Definition Station.m:245