# IMU: A Content Replacement Policy for CCN, Based on Immutance Content Selection
## 4 Performance Evaluation
### Path Stretch (Hop Count)  
Path stretch indicates the distance traveled to the content provider by the consumer's interest. The value of the path stretch is low when the consumer's interest packet is found from the routing path. Therefore, the better content replacement policy identifies content that users are interested in and that is mature. Such content should not be evicted from the cache. If such content is evicted from the cache, the publisher's load and bandwidth utilization will be high. Therefore, a better content replacement strategy should be to minimize the hops between the consumer and the publisher. Path stretch is defined as follows:  
\[Path\ Stretch=\frac{\sum_{i=1}^{n}Hop-Traveled}{\sum_{i=1}^{n}THop-Hop} \tag{2}\]  
where \(\sum_{i=1}^{n}Hop-Traveled\) is the number of hops between the consumer and publisher nodes covered by consumer interest. The value \(\sum_{i=1}^{n}THop-Hop\) denotes the total number of hops between the consumer and the provider. \(n\) represent the total number of generated interests for specific content. Figure 3 illustrates that the IMU's performance in terms of path stretch is better than other existing replacement policies. The placement strategy chooses the location of the cache, which may reduce the number of hops. IMU removes content that has been in the cache for a long time but has not matured. Therefore, when immature content is removed from the cache and new content is cached so that the consumer's requested content is available nearby, the request is not forward to the publisher. However, cached content on nearby routers is mostly popular or close to being popular. \begin{table}
\begin{tabular}{c c c c c c} \hline \hline \(\mathbf{\alpha}\) & **Cache Size** & **Placement** & **FIFO (\%)** & **LRU (\%)** & **LFU (\%)** & **LFRU (\%)** \\ \hline
0.6 & & LCE & 320.35 & 133.19 & 121.34 & 64.43 \\
0.6 & & CL4M & 64.17 & 52.41 & 41.74 & 20.14 \\
0.6 & 4\% to 20\% & ProbCache & 38.71 & 35.01 & 32.35 & 16.53 \\
0.6 & & LCD & 56.49 & 31.90 & 26.71 & 14.37 \\
0.6 & & opt-Cache & 48.84 & 40.46 & 33.82 & 18.57 \\ \hline
0.8 & & LCE & 47.34 & 36.94 & 27.08 & 17.86 \\
0.8 & & CL4M & 27.84 & 25.22 & 18.72 & 12.93 \\
0.8 & 4\% to 20\% & ProbCache & 17.64 & 14.11 & 11.70 & 6.38 \\
0.8 & & LCD & 20.15 & 14.08 & 13.66 & 6.53 \\
0.8 & & opt-Cache & 22.30 & 17.98 & 17.12 & 9.48 \\ \hline
1.0 & & LCE & 25.60 & 22.04 & 21.29 & 14.05 \\
1.0 & & CL4M & 11.47 & 9.76 & 9.24 & 5.35 \\
1.0 & 4\% to 20\% & ProbCache & 7.56 & 6.21 & 6.38 & 1.98 \\
1.0 & & LCD & 7.49 & 4.96 & 6.82 & 2.59 \\
1.0 & & opt-Cache & 9.02 & 6.74 & 7.21 & 3.46 \\ \hline \hline \end{tabular}
\end{table} 
Table 10: IMU cache hit ratio percentage improvement. Figure 3: Path stretch with different cache sizes and \(\alpha\), using different placement policies. (**a**) Path stretch with LCE. (**b**) Path stretch with CL4M. (**c**) Path stretch with ProbCache. (**d**) Path stretch with LCD. (**e**) Path stretch with opt-Cache. FIFO, LRU, and LFU represent the high path stretch due to content selection for eviction based on a single factor. FIFO content is evicted in the order in which it was cached. However, no matter how many times the content has been accessed, the timeline of popular and unpopular contents in FIFO will be the same, which increases the path stretch value. Figure 4 indicates that LRU is better than LFU when the cache size is smaller; however, as the cache size increases, the performance of LFU improves because LFU considers the popularity of content. Therefore, as cache size increases, popular content stays longer in the cache. LRU ignores the popularity of the content and the least recently used content evicts from the cached. However, content that is not popular, but, over time, their request keeps coming, are present in the cache space, making the path stretch higher. LFRU divides the cache space into two parts: LRU used privilege partition and LFU used unprivileged partition.