SimGrid
Toolkit for distributed computing
From Wikipedia, the free encyclopedia
SimGrid is a framework for simulating applications on distributed computing systems.[3] It provides high-level programming language tools for comparing, evaluating, analyzing, and prototyping algorithms across different platforms. SimGrid has been used to conduct experimental simulations in multiple domains, including cluster computing, grid computing, heuristics and peer-to-peer (P2P) computing.[1]
| SimGrid | |
|---|---|
SimGrid Logo | |
| Initial release | 1999[1] |
| Stable release | 4.0
/ March 12, 2025 |
| Written in | Core: C++; Bindings: Python |
| Platform | Unix, Mac OS X, Microsoft Windows |
| Type | Distributed system simulator, Network simulator, Model checking |
| License | GNU Lesser General Public License version 2.1 only[2] |
| Website | simgrid |
| Repository | https://framagit.org/simgrid/simgrid |
SimGrid is distributed as freeware under the GNU Lesser General Public License version 2.1 (LGPL-2.1-only).[4][2]
History
SimGrid started in 1999 as a joint research project between Henry Casanova and Arnaud Legrand from the University of California, San Diego and École Normale Supérieure de Lyon, respectively.[5] The original design was only used for simulating the scheduling of heuristics for heterogeneous platforms.[5]
SimGrid has received funding from national and international research agencies and has evolved through various projects, including SONGS, USS-SimGrid, and ASTR.[6]
APIs and models
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:[1]
- 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.
- Meta Scheduling Grid (MSG) is used for solving constraint satisfaction problems.
- Grid Reality and Simulation (GRAS) simulates deployable distributed applications.
- Simulated Message Passing Interface (SMPI) simulates MPI applications.
Release history
| Version | Release date | Significant changes |
|---|---|---|
| SimGrid v1.0 | 1999 |
|
| SimGrid v2.0 | 2003 |
|
| SimGrid v3.3 | 2009 |
|
| SimGrid v4.0 | March 12, 2025[9] |
|
| SimGrid v4.1 | November 11, 2025[10] |