# Proactive Service Caching in a MEC System by Using Spatio-Temporal Correlation among MEC Servers
## 5 Performance Evaluation
### Simulation Setup  
In Figure 4, we show the topology of a MEC system we configured for simulation studies. We evenly deploy \(M=9\) MECSs in a \(3\times 3\) grid, which ranges from (0, 0) to (2 km, 2 km). We locate each MECS at each grid point. We set the number of services that a MEC system provides to 64 (\(K=64\)) and the cache size of each MECS to \(\eta\). To configure the popularity of each service in each MECS, we use the MovieLens 25 M dataset \(\mathcal{D}\) measured from 1 January 2019 to 21 November 2019 by GroupLens Research [42]. The dataset contains 1,202,602 ratings for 41,440 movies by 10,619 users. Assuming the patterns that the users rate the movies are similar to the patterns that they request for the MEC services, we configure the popularity of each service according to the popularity of movies in the dataset. Specifically, we define the popularity of a movie \(i\) in \(\mathcal{D}\) as \(g_{i}=n_{i}/\sum_{i\in\mathcal{D}}n_{i}\), where \(n_{i}\) is the number of times that a movie \(i\) is rated in the dataset. We sort \(g_{i}\) in a descending order and investigate its distribution. We find that the popularity distribution follows the Pareto principle in that the top 20% popular movies take 84.36% of the total movies. Assuming that the popularity of a service in a MEC system will also follow the Pareto principle, we configure the popularity of a service \(k\in\mathcal{K}\) in a MECS \(m\) by setting its popularity to that of the set of movies as follows. We denote the set of movies belonging to the top 20% popular movies as \(\mathcal{P}\). Without loss of generality, we assume that both the elements in \(\mathcal{P}\) and those in \(\mathcal{D}-\mathcal{P}\) are sorted in a descending order according to \(g_{i}\). We set \(p_{m}=\lfloor 0.2K\rfloor\) and divide the elements in \(\mathcal{P}\) evenly into \(p_{m}\) subsets \(P_{0},\ldots,P_{p_{m}-1}\). We also divide the elements in \(\mathcal{D}-\mathcal{P}\) evenly into \(K-p_{m}\) subsets \(P_{p_{m}},\ldots,P_{K-1}\). To determine the popularity of each service in each MECS, we randomly assign a service identification number \(k\in[0,K-1]\) to each subset \(P_{0},\ldots,P_{K-1}\) without duplication. Therefore, if a number \(k\) is assigned to \(P_{j}\), the popularity of the service \(k\) in a MECS \(m\) becomes \(\alpha_{m,k}=\sum_{i\in P_{j}}g_{i}\). \begin{table}
\begin{tabular}{c c c} \hline \hline  & **ConvLSTM** & **LSTM** \\ \hline \# hidden layers & 3 & 3 \\ \# units & (64, 64, 64) & (100, 1, 100) \\ \# total params & 746,689 & 121,301 \\ \# epochs & 20 & 20 \\ Input & \(\{\Omega(t),\ldots,\Omega(t-w_{a}+1)\}\) & \(\{v_{m}(t),\ldots,v_{m}(t-w_{a}+1)\},\forall m\in\mathcal{M}\) \\ Output & \(\hat{\Omega}(t+1)\) & \(\hat{\Omega}_{m}(t+1),\forall m\in\mathcal{M}\) \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Parameters used to train each model. Figure 4: Topology of a MEC system. We denote the service popularity distribution in a MECS \(m\) during a time slot \(t\) as \(\Psi_{m}(t)=\{\alpha_{m,k}(t)|k\in\mathcal{K}\}\). For each MECS \(m\in\mathcal{M}\), we set \(\Psi_{m}(0)\) by randomly assigning a number \(k\in[0,K-1]\) to each subset \(P_{0},\ldots,P_{K-1}\) without duplication. In other words, we set \(\Psi_{m}(0)\
eq\Psi_{n}(0)\) if \(m\
eq n\in\mathcal{M}\). In the beginning of the simulation, we randomly deploy \(U\)=1000 users in the grid according to the Poisson point process and number them from 0 to 999. As time elapses, \(\Psi_{m}(t)\) changes because of the mobility of users in the MEC system. We set the mobility pattern of each user by using a real-world dataset. Specifically, we use the Divvy historical trip dataset, which records the trip start day and time, trip end day and time, trip start station, and trip end station [43]. Among the historical trip data, we use the dataset \(\mathcal{T}\) containing 767,650 trip history in Chicago during July 2023. We set the \(x\)-th record in the dataset as the mobility pattern of the user \(x\) mod\(U\) in the MEC system.