SimGrid
![]() | This section has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
![]() SimGrid Logo | |
Initial release | 1998[1] |
---|---|
Stable release | 4.0
/ March 12, 2025 |
Repository | https://framagit.org/simgrid/simgrid |
Written in | Core: C++; Bindings: Python. |
Platform | Unix, Mac OS X, Microsoft Windows |
Type | Distributed system simulator, Network simulator, Model checking |
License | GNU LGPL-2.1[2] |
Website | simgrid |
SimGrid is an open-source framework for simulating and benchmarking applications on distributed computing systems.[3]
The SimGrid framework provides high-level tools for comparing, evaluating, analyzing, and prototyping algorithms across different platforms, configurations, and network topologies.[3] SimGrid has been used to run experimental simulations in a variety of fields, including big data, cloud computing, high-performance computing, grid computing, and P2P computing.[4]
SimGrid is distributed as free and open-source software under the GNU Lesser General Public License version 2.1 (LGPL 2.1).[5]
History
[edit]SimGrid began in 1999 as a joint research project between Henri Casanova from the University of California, San Diego and Arnaud Legrand from École Normale Supérieure de Lyon.[6] It was originally designed for simulating scheduling heuristics for heterogeneous platforms.
SimGrid has received funding from multiple national and international research agencies and has evolved through various project grants like the SONGS, USS-SimGrid, and ASTR projects.
APIs
[edit]SimGrid supports multiple programming languages including C++ and Python through models and APIs.
SimGrid provides tools for analyzing scheduling, resource allocation, fault tolerance, and other parts of distributed computing through four different interfaces:
- Simulation Directed Acyclic Graphs (SIMDAG) simulates execution of DAGs, including specified tasks, dependencies, scheduling resources, and interaction with the environment. It allows users to add tasks, specify dependencies, and interact with the environment. [3]
- Meta Scheduling Grid (MSG) for solving Constraint Satisfaction Problems [3].
- Grid Reality and Simulation (GRAS) simulates deployable distributed applications.
- Simulated Message Passing Interface (SMPI) for simulating MPI applications.
Comparisons with other frameworks
[edit]Feature | SimGrid | CloudSim | ns-3 | OMNeT++ |
---|---|---|---|---|
Scope | Distributed apps | Cloud-focused | Network layer | Communication networks |
Simulation type | Discrete event | Discrete event | Packet-level | Module-based |
Language support | C/C++, Python | Java | C++ | C++ |
Real code simulation | Yes (SMPI) | Limited | No | No |
Storage & energy model | Yes | Basic | Basic | Optional modules |
See also
[edit]References
[edit]- ^ Casanova, Henri (May 2001). "A Toolkit for the Simulation of Application Scheduling". First IEEE International Symposium on Cluster Computing and the Grid (CCGrid'01). Brisbane, Australia. pp. 430–441. doi:10.1109/CCGRID.2001.923223.
- ^ "Official SimGrid Page". Retrieved October 17, 2024.
- ^ a b c d Casanova, Henri; Legrand, Arnaud; Quinson, Martin (March 4, 2008). "SimGrid: a Generic Framework for Large-Scale Distributed Experiments". Inria. IEEE – via HAL Open Science.
- ^ "They use SimGrid". simgrid.org. Retrieved 2025-04-08.
- ^ "LICENSE-LGPL-2.1 · master · simgrid / simgrid · GitLab". GitLab. 2010-11-27. Retrieved 2025-03-19.
- ^ "SimGrid History". simgrid.org. Retrieved 2025-04-20.
- Velho, Pedro; Legrand, Arnaud (3 March 2009). "Accuracy study and improvement of network simulation in the SimGrid framework". Proceedings of the Second International ICST Conference on Simulation Tools and Techniques. doi:10.4108/ICST.SIMUTOOLS2009.5592. ISBN 978-963-9799-45-5.
{{cite book}}
:|journal=
ignored (help)
- Velho, Pedro; Legrand, Arnaud (3 March 2009). "Accuracy study and improvement of network simulation in the SimGrid framework". Proceedings of the Second International ICST Conference on Simulation Tools and Techniques. doi:10.4108/ICST.SIMUTOOLS2009.5592. ISBN 978-963-9799-45-5.
- Lebre, Adrien; Legrand, Arnaud; Suter, Frédéric; Veyre, Pierre (May 2015). "Adding Storage Simulation Capacities to the SimGrid Toolkit: Concepts, Models, and API". 2015 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (PDF). pp. 251–260. doi:10.1109/CCGrid.2015.134. ISBN 978-1-4799-8006-2. Retrieved 22 March 2025.
- Ramamonjisoa, Charles Emile; Khodja, Lilia Ziane; Laiymani, David; Giersch, Arnaud; Couturier, Raphaël (August 2014). "Simulation of Asynchronous Iterative Algorithms Using SimGrid". 2014 IEEE Intl Conf on High Performance Computing and Communications, 2014 IEEE 6th Intl Symp on Cyberspace Safety and Security, 2014 IEEE 11th Intl Conf on Embedded Software and Syst (HPCC,CSS,ICESS). pp. 890–895. doi:10.1109/HPCC.2014.155. ISBN 978-1-4799-6123-8. Retrieved 22 March 2025.
- Frincu, Marc-Eduard; Quinson, Martin; Suter, Frédéric (2008). "Handling Very Large Platforms with the New SimGrid Platform Description Formalism". [Technical Report] RT-0348. French Institute for Research in Computer Science and Automation: 27. Retrieved 22 March 2025.<