LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
cache_replc_qlru.m
1clear solver AvgTable;
2
3% q-LRU replacement: on a miss the item is admitted (LRU head insert) with
4% probability q, otherwise it passes through uncached. Admission filtering can
5% raise the hit ratio over plain LRU under skewed popularity. Exact in CTMC;
6% simulated in SSA/LDES. Not product-form (MVA/NC/FLD reject it).
7
8model = Network('model');
9
10n = 5; % number of items
11m = 2; % cache capacity
12
13delay = Delay(model, 'Delay');
14cacheNode = Cache(model, 'Cache', n, m, ReplacementStrategy.QLRU);
15cacheNode.setAdmissionProb(0.5); % admit a missed item with probability q=0.5
16
17jobClass = ClosedClass(model, 'JobClass', 1, delay, 0);
18hitClass = ClosedClass(model, 'HitClass', 0, delay, 0);
19missClass = ClosedClass(model, 'MissClass', 0, delay, 0);
20
21delay.setService(jobClass, Exp(1));
22
23pAccess = Zipf(1.2, n); % Zipf-like item references
24cacheNode.setRead(jobClass, pAccess);
25
26cacheNode.setHitClass(jobClass, hitClass);
27cacheNode.setMissClass(jobClass, missClass);
28
29P = model.initRoutingMatrix;
30P{jobClass, jobClass}(delay, cacheNode) = 1.0;
31P{hitClass, jobClass}(cacheNode, delay) = 1.0;
32P{missClass, jobClass}(cacheNode, delay) = 1.0;
33model.link(P);
34
35solver{1} = CTMC(model,'keep',false);
36AvgTable{1} = solver{1}.getAvgNodeTable; AvgTable{1}
37
38model.reset;
39solver{2} = SSA(model,'samples',1e4,'method','serial','seed',23000);
40AvgTable{2} = solver{2}.getAvgNodeTable; AvgTable{2}
Definition Station.m:245