SkillAgentSearch skills...

PureEdgeSim

PureEdgeSim: A simulation framework for performance evaluation of cloud, fog, and pure edge computing environments.

Install / Use

/learn @CharafeddineMechalikh/PureEdgeSim

README

<img width= "20%" src="https://user-images.githubusercontent.com/46229052/196671093-21ba3438-719d-4dd4-ad79-bfddd1395663.png" align="right" />

PureEdgeSim

PureEdgeSim: A simulation framework for performance evaluation of cloud, edge and mist computing environments

License: GPL v3 Build Status Codacy Badge Maven Central Codacy Badge

image

Please Cite It As (Kindly do not use the github link):

Mechalikh, C., Taktak, H., & Moussa, F. (2021). PureEdgeSim: A simulation framework for performance evaluation of cloud, edge and mist computing environments. Computer Science and Information Systems, 18(1), 43-66.

Mechalikh, C., Safavifar, Z., & Golpayegani, F. (2025). Quality matters: A comprehensive comparative study of edge computing simulators. Simulation Modelling Practice and Theory, 138, 103042.

Bibtex:

@article{mechalikh2021pureedgesim,
  title={PureEdgeSim: A simulation framework for performance evaluation of cloud, edge and mist computing environments},
  author={Mechalikh, Charafeddine and Taktak, Hajer and Moussa, Faouzi},
  journal={Computer Science and Information Systems},
  volume={18}
  number={1},
  pages={43--66},
  year={2021}
}



@article{mechalikh2025quality,
  title={Quality matters: A comprehensive comparative study of edge computing simulators},
  author={Mechalikh, Charafeddine and Safavifar, Zahra and Golpayegani, Fatemeh and others},
  journal={Simulation Modelling Practice and Theory},
  volume={138},
  pages={103042},
  year={2025},
  publisher={Elsevier}
}

Version 5.1 Changelog (October 18th 2022)

<details> <summary>"Click to expand"</summary>
  • Updated the energy model with the ability to set an initial battery level for generated devices, either programmatically or via the xml file.

  • Now users can extend the simulation manager to change its behavior, and easily integrate it in the simulation.

  • Users can now easily integrate a custom task class.

  • All entities are now notified at the end of the simulation through onSimulationEnd() method.

  • Failure Model: now tasks can fail due to insufficient resources: RAM, STORAGE, CPU Cores.

  • Disabled some unnecessary network links events/loops for better performance.

  • Now tasks can be scheduled in batches instead of being scheduled all at once at the beginning of the simulation (hence, decreasing the number of events and therefore, faster simulations and less memory usage).

  • Removed unnecessary loops when orchestrating tasks (e.g., no need to browse through edge devices when the cloud only architecture is used, etc.)

  • Overall version 5.1 can be 30 times faster and supports up to 8 times the number of tasks compared to previous version 5.0 (see figure below).

  • Improved extensibility: Users can now easily incorporate a custom task class, custom simulation manager, as well as a custom topology creator.

  • Now applications placement decisions are done after each failure (default behavior, can be changed by extending the DefaultSimulationManager and DefaultOrchestrator classes).

  • Reduced duplication and improved code quality.

  • Other fixes..

<p align="center"> <img width="500" src="https://user-images.githubusercontent.com/46229052/196478109-29442658-19c1-498e-9c0e-593780e12f44.png"> </p> <p align="center">A comparison of simulation duration between the previous version 5.0 and the latest version 5.1</p> </details>

<br></br> image <a id="overview"></a>

<img width="20%" src="https://user-images.githubusercontent.com/46229052/196671599-c2c33b14-be0b-4f7a-92b2-533978afb029.png" align="right" /> <p align="justify"> PureEdgeSim is a simulation framework that enables to study Internet of Things on a large scale, as a distributed, dynamic, and highly heterogeneous infrastructure, as well as the applications that run on these things. It features realistic infrastructure models, allowing research on the edge-to-cloud continuum to be conducted. It encompasses all layers of edge computing modeling and simulation. It features a modular design in which each module addresses a particular aspect of the simulation. The Datacenters Manager module, for example, is concerned with the creation of data centers, servers, as well as end devices and their heterogeneity. Their geo-distribution and mobility, however, are handled by the Location Manager module. Similarly, the Network Module is in charge of bandwidth allocation and data transfer. </p> <br clear="left"/> <img width="300" src="https://user-images.githubusercontent.com/46229052/196689838-65b94184-845f-4f3a-b749-a9833e595580.png" align="left"> <p align="justify"> PureEdgeSim brings together analytical and numerical modeling techniques. The network, for example, is modeled by means of adjustable mathematical equations rather than at a low level. Such abstraction facilitates simulating thousands of edge devices and guarantees the evaluation of the simulation state at any moment. Finally, since PureEdgeSim is a discrete event simulator, the characteristics of the simulated environment, like network traffic and resources’ utilization, will evolve over time, thereby enabling support for online decision-making algorithms, a process that can be accomplished through the Workload Orchestrator module.</p> <br clear="left"/> <p align="justify"> Each module provides a default implementation along with a set of adjustable settings to facilitate prototyping and experimentation. Thus, researchers can effortlessly implement their approaches without having to waste time specifying low-level details. Another key feature of PureEdgeSim is its extensibility, as it allows users to create and incorporate their own models without altering its codebase when the default models fail to satisfy their needs. In discrete event simulators, the temporal complexity of the simulation is dependent on the number of events produced at runtime. To reduce simulation duration, PureEdgeSim allows for balancing the precision of the simulation and its duration thanks to a set of dedicated parameters. How precise the simulation will rely on the user’s settings, particularly the update intervals. Thus, the simulation will be more precise and realistic the shorter these intervals are, but it will also last longer. You can read more in the <a href="https://github.com/CharafeddineMechalikh/PureEdgeSim/wiki">WiKi</a></p>. <p align="center"> <img width="500" src="https://user-images.githubusercontent.com/46229052/196690369-54350b0f-5382-427a-8f12-c582f3f7f2b7.png"> </p> <p align="center">A simple representation of the simulation scenarios</p>

<br></br> image <a id="important"></a>

  • <p align="justify">The development and maintenance of this project requires a considerable effort. Thus, any form of contribution is encouraged. </p>
  • <p align="justify">If you are willing to use the framework to implement your own project on top of it, creating a fork is a bad solution. You are not supposed to modify the code base to implement your project, but extend it by creating some subclasses. Unless you plan to redistribute your changes, you will end up with an incompatible and obsolete version of the framework. The project is constantly evolving and bug fixes are a priority. Your fork with personal changes will miss these updates and high performance improvements.</p>
  • <p align="justify">If you just came across this project and want to check it out later, don't forget to add a star :star: :wink:.</p>

<br></br> image <a id="exclusive-features"></a>

<p align="justify"> PureEdgeSim offers many exclusive features: <img width= "20%" src="https://user-images.githubusercontent.com/46229052/196670148-8f647e7f-ffe2-49ea-865b-2c37ca044cb2.png" align="right" />
  • Realistic modeling of edge computing scenarios (and its related computing paradigms).
    • It supports devices heterogeneity (sensors, mobile devices, battery-powered..).
    • It supports the heterogeneity of their means of communication (WiFi, 5G, 4G, Ethernet..).
    • Realistic modeling of computing infrastructure (modeling computational tasks, infrastructure topology...).
    • Realistic network model (Latency, bandwidth allocation, support for peer to peer communications, routing..).
    • Realistic mobility model.
    • Realistic energy model.
  • The support for online decision making (tasks orchestration, scheduling, etc.).
  • The study of QoS-aware architectures and topologies.
  • Efficiency and Scalability.
    • PureEdgeSim supports the simulation of thousands of devices (even +30000 devices).
    • PureEdgeSim suppo
View on GitHub
GitHub Stars215
CategoryDevelopment
Updated2d ago
Forks85

Languages

Java

Security Score

100/100

Audited on Mar 30, 2026

No findings