## 3 Background
### EdgeSimPy Architecture  
EdgeSimPy was created especially for modeling and simulating edge cloud scenarios. It offers an adaptable and expandable platform for experimenting with different edge computing scenarios, such as workloads for applications, network setups, and resource-management techniques. Researchers can assess edge computing system performance in a controlled and repeatable setting without incurring the expense and complexity of real-world installations by utilizing simulation-based methodologies. EdgeSimPy facilitates the design and optimization of edge computing installations by allowing researchers to evaluate the effects of resource-management strategies on system performance, scalability, and energy efficiency [3].  
EdgeSimPy's architecture (Figure 2), which consists of four essential layers (Core, Physical, Logical, and Management), has been designed to imitate edge computing scenarios.  
The core layer of EdgeSimPy integrates and synchronizes the Physical, Logical, and Management layers to provide the foundation of the simulation framework. It offers the fundamental parts and functions--such as the simulation engine, configuration management, and event scheduling--that are necessary for the smooth running of the complete system. The Core layer makes sure that all layers are in sync and communicate with each other. This makes simulations accurate and efficient, freeing researchers from the burden of underlying system complexities to concentrate on creating and assessing resource-management strategies.  
In order to provide a realistic simulation of resource restrictions and connectivity, the Physical layer models the geographical and operational properties of edge infrastructure, including base stations, network switches, edge servers, and users. The physical layer's functionalities essentially create a digital duplicate of the infrastructure's physical components. This makes it easier to study resource-management strategies in an authentic edge computing environment, enabling researchers to assess their efficacy in virtual environments that closely mimic real-world implementations.  
Figure 2: EdgeSimPy architecture [3].  
The Logical layer serves as the software counterpart of the physical infrastructure. It abstracts the functional aspects of applications, focusing on containerization and supporting various application models, from monolithic to microservices, to facilitate effective resource allocation and task scheduling. The applications that run on the simulated edge servers can be defined here, effectively constituting the simulated software ecosystem. Researchers are able to precisely define the configuration of these applications and how they will be deployed on the edge resources that are available from the logical layer.  
Leveraging the capabilities of the lower layers, the Management layer serves as the hub for resource allocation and optimization decisions. Establishing and carrying out resource management policies is the main objective of this stratum. The Management layer can be used by researchers to plan network traffic flows, specify application migration protocols, set up service placement methods, and replicate edge environment maintenance procedures. Essentially, the management layer gives researchers the ability to assess different resource-control techniques and how they affect the simulated edge computing system's overall effectiveness and performance.