LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
tut06_cache_lru_zipf.m
1% Example 6: A queueing network with caching
2
3% Block 1: nodes
4model = Network('Model');
5
6nItems = 1000;
7cacheSize = 50;
8% Block 1: nodes
9clientDelay = Delay(model, 'Client');
10cacheNode = Cache(model, 'Cache', nItems, cacheSize, ReplacementStrategy.LRU());
11cacheDelay = Delay(model, 'CacheDelay');
12
13% Block 2: classes
14clientClass = ClosedClass(model, 'ClientClass', 1, clientDelay, 0);
15hitClass = ClosedClass(model, 'HitClass', 0, clientDelay, 0);
16missClass = ClosedClass(model, 'MissClass', 0, clientDelay, 0);
17
18clientDelay.setService(clientClass, Immediate());
19cacheDelay.setService(hitClass, Exp.fitMean(0.2));
20cacheDelay.setService(missClass, Exp.fitMean(1));
21
22cacheNode.setRead(clientClass, Zipf(1.4,nItems));
23cacheNode.setHitClass(clientClass, hitClass);
24cacheNode.setMissClass(clientClass, missClass);
25
26% Block 3: topology
27P = model.initRoutingMatrix;
28% routing from client to cache
29P{clientClass, clientClass}(clientDelay, cacheNode)=1;
30% routing out of the cache
31P{hitClass, hitClass}(cacheNode, cacheDelay)=1;
32P{missClass, missClass}(cacheNode, cacheDelay)=1;
33% return to the client
34P{hitClass, clientClass}(cacheDelay, clientDelay)=1;
35P{missClass, clientClass}(cacheDelay, clientDelay)=1;
36% routing from cacheNode
37model.link(P);
38
39% Block 4: solution
40ssaAvgTable = SSA(model,'samples',2e4,'seed',23000,'verbose',true).avgTable()
41if license('test','parallel_computing_toolbox')
42 ssaAvgTablePara = SSA(model,'samples',2e4,'seed',23000,'verbose',true,'parallel').avgTable()
43end
Definition mmt.m:92