# Performance Analysis of Container Effect in Deep Learning Workloads and Implications
## 3 Experimental Setup  
This section describes an experimental configuration set up to quantify the performance of deep learning workloads running in Docker containers compared to running directly on the host system. The Docker framework we experiment with is composed of two images: a training image and a deployment image as shown in Figure 2. The training image does the work of loading the data, training the model, and storing the trained model outside the container. The deployment image runs the saved model and handles inference requests. To compare the performance of running deep learning workloads in Docker containers and directly on the host system, we construct two experimental sets. The first set runs training and deployment directly on the host machine, while the second set runs inside a Docker container. We run deep learning workloads on a single physical machine, and each workload is executed on a separate container. 4 containers are used in order to see the effect of multi-tenant environments. The hardware configuration of our experiment \begin{table}
\begin{tabular}{p{56.9 pt} p{113.8 pt} p{113.8 pt} p{113.8 pt} p{113.8 pt}} \hline \hline  & **Resources** & **Target Workloads** & **Strengths** & **Limitations** \\ \hline [PERSON] et al. [19] & Memory & AI workload & \(\bullet\) & Observe AI workload’s memory & \\ [PERSON] et al. & & & usage patterns differentiated from traditional workloads & \(\bullet\) & More research is needed on different environments and models \\ [PERSON] et al. [19] & Memory & AI workload & \(\bullet\) & Determine the primary factor that leads to memory access in AI workloads & \\ \hline [PERSON] et al. [12] & CPU, memory & AI workload (containerized) & \(\bullet\) & Find resource usage patterns and similarities between containers & \(\bullet\) & Does not consider how tasks will communicate with each other \\ \hline [PERSON] et al. [20] & CPU, GPU & AI workload (containerized) & \(\bullet\) & Measure the effects of Docker containers in deep learning workloads & \(\bullet\) & Evaluation is limited to specific hardware types \\ [PERSON] et al. [21] & I/O & AI workload (containerized) & \(\bullet\) & Observe the influence of page cache on the efficiency of deep learning frameworks & \(\bullet\) & Evaluation is limited to specific frameworks \\ \hline [PERSON] et al. & CPU, memory, I/O, network & Traditional workload (containerized) & \(\bullet\) & Categorize containers according to resource utilization and behavior & Use benchmarking tools to analyze scenarios that may diverge from real-world conditions \\ \hline [PERSON] et al. [23] & CPU, network & Traditional workload (containerized) & \(\bullet\) & Investigate resource utilization of containerized workloads running on edge servers & The proposed algorithm does not consider the heterogeneity of edge nodes \\ \hline [PERSON] et al. [10] & CPU & Traditional workload (containerized) & \(\bullet\) & Present a quantitative assessment of the Docker container’s CPU overhead & \(\bullet\) & Evaluation is limited to specific applications \\ \hline [PERSON] et al. [18] & CPU, I/O, GPU & AI workload (containerized) & \(\bullet\) & Propose a profiling tool that correlates system utilization metrics with framework operations & \(\bullet\) & Evaluation is limited to specific frameworks \\ \hline \hline \end{tabular}
\end{table} 
Table 1: A brief summary of related work characterizing workloads with resource considerations. consists of Intel i7-12700 CPU, Samsung DDR4 3200 16 GB memory, Galax GeForce RTX 3060 GPU, Hynix Gold P31 SSD 2 TB, and WD Blue 7200 HDD 2 TB as listed in Table 2. We measure the performance of each set of experiments using a variety of metrics, including CPU usage, memory usage, and execution time. We leverage Ftrace, a kernel tracing framework, to evaluate the performance differences between the execution of the same task in a Docker container and the host system. Ftrace supports debugging and performance analysis by tracing a variety of events, including function calls, system calls, and interrupts.