## 4 Performance Evaluation and Comparative Analysis
### Evaluation Metrics  
To ascertain the efficiency of the proposed PF-ClusterCache and position its performance against the selected caching strategies, we consider the server hit reduction ratio, the average retrieval delay, the hop reduction ratio, and the number of eviction metrics.  
A server hit occurs when an Interest could not be answered by an intermediate node and is rather answered by its producers. A cache hit ratio occurs when an Interest is answered by an intermediate router along the path to the server or producer. The server hit reduction ratio, or equivalently the cache hit ratio, represents the reduction of the rate of access to the server. The server hit reduction ratio is then the ratio of the total number of Interests answered by intermediate nodes (by caches) to the total number of generated Interests. It stands as one of the most fundamental used metrics to evaluate caching performance in NDN. Equation (2) gives this metric, where \(N\) represents the number of consumers, \(serverHit_{i}\) stands for the number of requests sent by consumer \(i\) and satisfied by the server, and \(localHit_{i}\) is the number of requests sent by consumer \(i\) and satisfied by an intermediate router along the path to the producer.  
\[\text{SHR}=1-\frac{\sum_{i=1}^{N}ServerHit_{i}}{\sum_{i=1}^{N}(ServerHit_{i}+ LocalHit_{i})} \tag{2}\]  
The content average retrieval delay represents the average time duration between the generation time instant of an Interest packet and the time instant of receiving the corresponding Data packet. The content may be sent by an intermediate caching node or ultimately by its producer. The content average retrieval delay is calculated by Equation (3):  
\[AverageDelay=\frac{\sum_{i=1}^{N}\frac{\sum_{i=1}^{R_{i}}T_{ir}}{R_{i}}}{N} \tag{3}\]  
where \(R_{i}\) stands for the number of interests generated by node \(i\), \(T_{ir}\) denotes the retrieval delay taken by interest number \(r\) generated by consumer \(i\), and \(N\) represents the number of consumers.  
The hop count is another basic and important performance metric that measures the number of hops traversed to satisfy an Interest by either an intermediate cache or ultimately by its producer. The average hop count is then the average number of hops needed to answer the generated Interests. It is given by Equation (4):  
\[\text{Average Hop Count}=\frac{\sum_{i=1}^{N}\frac{\sum_{i=1}^{R_{i}}H_{ir}}{R _{i}}}{N} \tag{4}\]  
\begin{table}
\begin{tabular}{l l} \hline \hline
**Parameter** & **Value** \\ \hline Total Average Number of Nodes & 600 nodes \\ Producers & 20 producers \\ Consumers & 30 consumers \\ Catalog Size & 500,000 contents \\ Traffic Rate & 2.5 requests/s/flow/consumer \\ Cache Size & \((5,10,20,30,40)\) \\ Zipf Parameter & \((1.2,1.4,1.6,1.8,2.0)\) \\ Popularity Threshold & 2 \\ Average Freshness & \((10,50,100,250)\) Seconds \\ Popularity Flows & \((1,10,20,40)\) Flows \\ Simulation Time & 250 s \\ Warming Up Time & 50 s \\ Simulation Replications & 10 \\ \hline \hline \end{tabular}
\end{table}
Table 1: Simulation parameters.  
where \(R_{i}\) stands for the number of interests generated by node \(i\), \(H_{ir}\) denotes the number of hops traversed by interest number \(r\) generated by consumer \(i\) until being satisfied either by an intermediate cache or its producer, and \(N\) represents the number of consumers.  
The cache eviction represents the total number of evicted data content from all network nodes during the simulation time. A content eviction takes place at a given node when an arriving piece of data eligible for caching finds the node cache full. In this case, data content has to be evicted to cache instead the newly arriving content. Recall that for the proposed LPF, the eviction happens only if the cache is full and the incoming packet has a higher popularity count than the least popular cached data content, which is evicted. The eviction rate is calculated using Equation (5):  
\[\text{Eviction Rate}=\frac{\text{Total Evicted Data}}{\text{Sim Time}} \tag{5}\]