SimGrid
![]() | This article 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 a framework for simulating and benchmarking applications on distributed computing systems.[3] It offers high-level tools for comparing, evaluating, analyzing, and prototyping algorithms across different platforms.[3] SimGrid has been used to conduct experimental simulation in multiple domains, 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 started 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] The original design was used for simulating scheduling of heuristics for heterogeneous platforms.[6]
It has received funding from national and international research agencies and has evolved through various projects, including SONGS, USS-SimGrid, and ASTR.[7]
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 aspects of distributed computing through four distinct 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) is used for solving constraint satisfaction problems. [3]
- Grid Reality and Simulation (GRAS) simulates deployable distributed applications.
- Simulated Message Passing Interface (SMPI) simulates MPI applications.
Comparison 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.
- ^ a b "SimGrid History". simgrid.org. Retrieved 2025-04-20.
- ^ "Overview - SIMGRID - IN2P3-Forge". forge.in2p3.fr. Retrieved 2025-05-01.
- 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.<