## 3 Background
### EdgeSimPy  
The advent of edge computing has sparked the introduction of numerous edge simulators. The simulation tools for edge computing are introduced in this section, followed by a comparison analysis that highlights EdgeSimPy unique characteristics and contributions \begin{table}
\begin{tabular}{c c} \hline \hline
**Algorithms** & **Description** \\ \hline Location-based algorithm [21] & Considers the geographical proximity of tasks to edge servers when making allocation decisions. It aims to minimize latency and network traffic by assigning tasks to the nearest available server, optimizing response times for edge applications \\ \hline \hline \end{tabular}
\end{table} 
Table 2: _Cont._as compared to these existing solutions. Our objective is to demonstrate EdgeSimPy's potential benefits and innovative contributions to the edge simulation sector by assessing its capabilities. Table 3 shows a comparison of EdgeSimPy's built-in features with existing frameworks and simulators. The selection of EdgeSimPy for this study is based on several key considerations that make it a superior choice compared to other available simulation tools, as shown in Table 3. EdgeSimPy is a Python-based framework for modeling and simulating resource management policies. It has a modular architecture consisting of multiple functional abstractions like edge servers, network devices, and applications. It offers detailed models for edge-specific scenarios, including resource-constrained devices, intermittent connectivity, and the need for real-time processing. This specificity allows for more accurate and realistic simulations for edge cloud applications. EdgeSimPy encompasses functional abstractions for various components, including edge servers, network devices, and applications. _SimEdgeIntel_[22] introduces a versatile edge-caching simulator offering key contributions. It enables several scenarios, heterogeneous device modeling, and rapid mobile network configuration. Integration is made easier by its own architecture for algorithm access. Performance assessments show that the simulator is very adaptable, allows custom models, and has a learning-based caching strategy for cloud collaborative intelligence. SimEdgeIntel's efficacy for optimizing edge computing settings is currently limited by its lack of robust support for workload jobs and its inability to dynamically shut down servers during simulations. _CloudSim_[23] is a flexible simulator for cloud computing infrastructure. Researchers can carry out in-depth analyses of resource allocation, task scheduling, and energy use with the help of _CloudSim_. It makes detailed simulations possible, which improves the creation of cloud-based apps and the assessment of cloud-management techniques. While cloud simulators like _CloudSim_ lack user mobility and wireless support, network simulators may not cover servers and users. _IOTSim_[24] is a dedicated simulator for analyzing IoT applications. This tool enables researchers to study the behavior and performance of IoT applications comprehensively. The focus of this toolkit is on microservice management, mobility, and clustering in edge and fog computing environments. _IOTSim_ facilitates resource management, communication protocols, and data-processing evaluations in IoT scenarios, empowering researchers to optimize IoT solutions and enhance IoT applications' efficiency. Because neither _CloudSim_ nor _IOTSim_ can migrate services to other servers or dynamically shut down servers for maintenance during simulations, EdgeSimPy is the most feature-rich simulator that meets our needs the best. It lets us schedule network flow based on our infrastructure needs, manage tasks based on our preferred resource management strategies, migrate services to other servers within the infrastructure, and schedule server maintenance operations as part of our simulation. Complete support for all important elements is where EdgeSimPy shines, making it incredibly flexible, scalable, and suitable for a wide range of edge computing scenarios.