## 4 Performance Evaluation, and Result Analysis and Discussion
### Experimental Scenarios and Assumptions  
For the performance evaluation, we used four experimental scenarios that we performed over the Internet, which has few restrictions, using Cubic congestion control. We considered a live video streaming service (1080 p: resolution, 1920\(\times\)1080; bitrate range, 3000-6000 Kbps) as a target cloud service. We assumes that: (1) the cloud service and SDC are deployed in an edge node; (2) the cloud service consumes data (video chunks) from SDC; and (3) the data consumption and cycles are different, as shown in the scenarios below. We tested the convergence time by measuring the time required to converge to the desired cache utilization. We tested the stability of the algorithm by measuring the variation in the desired cache utilization during the whole experimental period. Each experiment was tested 30 times. When each experiment was run 10 times, we concluded that the results of each experiment were similar. However, performance tests were conducted up to 30 times to ensure objectivity. The experimental scenarios are as follows.  
* **Scenario 1--Periodic and equal**: This scenario tested a case in which a cloud service periodically consumes a single, specific amount of cached data. In this test, the cloud service consumes 512 KB of data from the SDC every 30 ms. This scenario could be ideal because the processing time and throughput can be changed through performance interference in the OS-level virtualization environment. Accordingly, we used this scenario as a control group for comparison with Scenarios 2-4.
* **Scenario 2--Periodic and unequal**: This scenario tested a case in which a cloud service periodically consumes different amounts of cached data. In this test, the cloud service consumes 128 KB-1 MB of data from the SDC every 30 ms. This scenario assumes that the time period is tightly controlled, and the data size changes. This scenario is an experimental group compared with Scenario 1.
* **Scenario 3--Aperiodic and equal**: This scenario tested a case in which a cloud service periodically consumes a single, specific amount of cached data. In this test, the cloud service consumes 512 KB of data from the SDC every 8-80 ms (12-120 fps). This scenario assumes that the amount of data is tightly controlled, and time period changes. This scenario is an experimental group compared with Scenario 1.  
\begin{table}
\begin{tabular}{l l l} \hline \hline  & **Cloud Node** & **Edge Node** \\ \hline Hardware & HP ProLiant DL320e Gen8 & Raspberry PI 3 Model B+ \\ CPU & Intel\$ Xeon\$ E3-1220v2 (3.1 GHz/4-core/8 & Broadcom BCM2837B0, Cortex-A53 (ARMv8) \\ MB/69 W) & 64-bit SoC @ 1.4 GHz \\ RAM & 16 GB & 1 GB LPDDR2 SDRAM \\ Storage & HDD - HP MB0500 GCEHE 500 GB & Micro SD Card—Samsung EVO 32 GB \\ I/O speed & 750 MB/s & 48 MB/s \\ Ethernet & HP Ethernet 1 Gb 2-port 330i Adapter & Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps) \\ \hline \hline \end{tabular}
\end{table}
Table 2: Specifications for the cloud and edge nodes used in the performance evaluation.  
Figure 7: Performance evaluation environment for EDCrammer-based caching.  
* **Scenario 4--Aperiodic and unequal**: This scenario tested a case in which a cloud service aperiodically consumes different amounts of cached data. In this test, the cloud service consumes 128 KB-1 MB of data from the SDC every 8-80 ms (12-120 fps). AR/VR requires 120 fps, and video streaming generally requires more than 30 fps. This scenario simulates the way that typical cloud services consume data. This scenario is an experimental group compared with the others.