LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
gallery_cache_routing.m
1function model = gallery_cache_routing()
2% GALLERY_CACHE_ROUTING Open cache with hit/miss routed to distinct queues
3model = Network('Cache-Routing');
4%% Block 1: nodes
5n = 4; % number of items
6m = 2; % cache capacity
7source = Source(model, 'Source');
8cacheNode = Cache(model, 'Cache', n, m, ReplacementStrategy.LRU);
9hitQueue = Queue(model, 'HitQueue', SchedStrategy.FCFS);
10missQueue = Queue(model, 'MissQueue', SchedStrategy.FCFS);
11sink = Sink(model, 'Sink');
12%% Block 2: classes
13jobClass = OpenClass(model, 'InitClass', 0);
14hitClass = OpenClass(model, 'HitClass', 0);
15missClass = OpenClass(model, 'MissClass', 0);
16source.setArrival(jobClass, Exp(1));
17hitQueue.setService(hitClass, Exp(2.0));
18missQueue.setService(missClass, Exp(1.0));
19pAccess = DiscreteSampler((1/n)*ones(1,n)); % uniform item references
20cacheNode.setRead(jobClass, pAccess);
21cacheNode.setHitClass(jobClass, hitClass);
22cacheNode.setMissClass(jobClass, missClass);
23%% Block 3: topology
24P = model.initRoutingMatrix();
25P{jobClass, jobClass}(source, cacheNode) = 1.0;
26P{hitClass, hitClass}(cacheNode, hitQueue) = 1.0;
27P{hitClass, hitClass}(hitQueue, sink) = 1.0;
28P{missClass, missClass}(cacheNode, missQueue) = 1.0;
29P{missClass, missClass}(missQueue, sink) = 1.0;
30model.link(P);
31end
Definition fjtag.m:157