3model = Network(
'model');
5n = 5; % number of items
8delay = Delay(model,
'Delay');
9cacheNode = Cache(model,
'Cache', n, m, ReplacementStrategy.LRU);
11jobClass = ClosedClass(model,
'JobClass', 1, delay, 0);
12hitClass = ClosedClass(model,
'HitClass', 0, delay, 0);
13missClass = ClosedClass(model,
'MissClass', 0, delay, 0);
15delay.setService(jobClass, Exp(1));
17pAccess = DiscreteSampler((1/n)*ones(1,n)); % uniform item references
18cacheNode.setRead(jobClass, pAccess);
20cacheNode.setHitClass(jobClass, hitClass);
21cacheNode.setMissClass(jobClass, missClass);
23P = model.initRoutingMatrix;
25P{jobClass, jobClass}(delay, cacheNode) = 1.0;
26P{hitClass, jobClass}(cacheNode, delay) = 1.0;
27P{missClass, jobClass}(cacheNode, delay) = 1.0;
31solver{1} = CTMC(model,
'keep',
false);
32AvgTable{1} = solver{1}.getAvgNodeTable; AvgTable{1}
35solver{2} = SSA(model,
'samples',1e4,
'verbose',
true,
'method',
'serial',
'seed',23000);
36AvgTable{2} = solver{2}.getAvgNodeTable; AvgTable{2}
38solver{3} = MVA(model);
39AvgTable{3} = solver{3}.getAvgNodeTable; AvgTable{3}