1function [QN,UN,RN,TN,CN,XN,lG,hitprob,missprob,delayedprob,hitproblist,itemprob,latency,runtime,method] = solver_nc_cacheqn_retrieval_analyzer(sn, options)
2% [...] = SOLVER_NC_CACHEQN_RETRIEVAL_ANALYZER(SN, OPTIONS)
4% NC analyzer
for a CLOSED integrated cache-queueing model whose Cache node has a
5% delayed-hit retrieval system. Delegates to da_cacheqn_retrieval with an NC
6% network solve (load-dependent when
the coalescing fetch station
is present).
7% Returns
the true cache hit/miss probabilities (hit =
P(item cached),
8% miss = 1 - hit);
the delayed-hit fraction folds into miss (delayedprob = 0).
10% Copyright (c) 2012-2026, Imperial College London
14[res, hitprob, missprob, delayedprob, ~, ~] = da_cacheqn_retrieval(sn, @netsolve, options);
16QN = res.QN; UN = res.UN; RN = res.RN; TN = res.TN; XN = res.XN;
17if isfield(res,
'CN'), CN = res.CN;
else, CN = NaN(1, sn.nclasses); end
18if isfield(res,
'lG'), lG = res.lG;
else, lG = NaN; end
21hitproblist = NaN(K, numel(sn.nodeparam{find(sn.nodetype==NodeType.Cache,1)}.itemcap));
27 function res = netsolve(snit)
29 if ~isempty(snit.lldscaling) || ~isempty(snit.cdscaling)
30 [res.Q,res.U,res.R,res.T,res.C,res.X,res.lG,res.runtime] = solver_ncld_analyzer(snit, options);
32 [res.Q,res.U,res.R,res.T,res.C,res.X,res.lG,res.runtime] = solver_nc_analyzer(snit, options);
34 res.QN = res.Q; res.UN = res.U; res.RN = res.R; res.TN = res.T; res.XN = res.X; res.CN = res.C;