LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
cache_replc_climb.m
1clear solver AvgTable;
2
3% CLIMB (transposition) replacement: on a hit an item moves up one position;
4% on a miss it enters at the tail. Exact in CTMC; simulated in SSA/LDES.
5% Not product-form, so MVA/NC/FLD reject it (use CTMC/SSA/LDES).
6
7model = Network('model');
8
9n = 5; % number of items
10m = 2; % cache capacity
11
12delay = Delay(model, 'Delay');
13cacheNode = Cache(model, 'Cache', n, m, ReplacementStrategy.CLIMB);
14
15jobClass = ClosedClass(model, 'JobClass', 1, delay, 0);
16hitClass = ClosedClass(model, 'HitClass', 0, delay, 0);
17missClass = ClosedClass(model, 'MissClass', 0, delay, 0);
18
19delay.setService(jobClass, Exp(1));
20
21pAccess = Zipf(1.2, n); % Zipf-like item references
22cacheNode.setRead(jobClass, pAccess);
23
24cacheNode.setHitClass(jobClass, hitClass);
25cacheNode.setMissClass(jobClass, missClass);
26
27P = model.initRoutingMatrix;
28P{jobClass, jobClass}(delay, cacheNode) = 1.0;
29P{hitClass, jobClass}(cacheNode, delay) = 1.0;
30P{missClass, jobClass}(cacheNode, delay) = 1.0;
31model.link(P);
32
33solver{1} = CTMC(model,'keep',false);
34AvgTable{1} = solver{1}.getAvgNodeTable; AvgTable{1}
35
36model.reset;
37solver{2} = SSA(model,'samples',1e4,'method','serial','seed',23000);
38AvgTable{2} = solver{2}.getAvgNodeTable; AvgTable{2}
Definition Station.m:245