Software:SimGrid

From HandWiki
SimGrid
SimGrid logo
SimGrid Logo
Initial release1999; 27 years ago (1999)[1]
Stable release
4.0 / March 12, 2025; 9 months ago (2025-03-12)
Repositoryhttps://framagit.org/simgrid/simgrid
Written inCore: C++; Bindings: Python
PlatformUnix, Mac OS X, Microsoft Windows
TypeDistributed system simulator, Network simulator, Model checking
LicenseGNU Lesser General Public License version 2.1 only[2]
Websitesimgrid.org

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]

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
  • First release of SimGrid
  • Scheduled algorithms for heterogeneous platforms
SimGrid v2.0 2003
  • More realistic network models and topologies[7]
  • Enabled the simulation of distributed scheduling agents[7]
SimGrid v3.3 2009
  • Complete rewrite of the simulation core for better modularity, speed and scalability[8]
SimGrid v4.0 March 12, 2025[9]
  • Reworked the platform generation API to simplify it and make it more natural[9]

See also

References

  1. 1.0 1.1 1.2 Casanova, Henri; Legrand, Arnaud; Quinson, Martin (March 4, 2008). "SimGrid: a Generic Framework for Large-Scale Distributed Experiments" (in en). Inria (IEEE). https://inria.hal.science/inria-00260697/en/. 
  2. 2.0 2.1 "simgrid/COPYING at master · simgrid/simgrid" (in en). https://github.com/simgrid/simgrid/blob/master/COPYING. 
  3. Casanova, Henri (May 2001). "A Toolkit for the Simulation of Application Scheduling". Brisbane, Australia. pp. 430–441. doi:10.1109/CCGRID.2001.923223. 
  4. "LICENSE-LGPL-2.1 · master · simgrid / simgrid · GitLab" (in en). 2010-11-27. https://framagit.org/simgrid/simgrid/-/blob/master/LICENSE-LGPL-2.1. 
  5. 5.0 5.1 "SimGrid History". https://simgrid.org/history.html. 
  6. "Overview - SIMGRID - IN2P3-Forge". https://forge.in2p3.fr/projects/simgrid. 
  7. 7.0 7.1 Arnaud Legrand; Henri Casanova; Loris Marchal (2003). "Scheduling distributed applications: The SimGrid simulation framework". CCGrid 2003. 3rd IEEE/ACM International Symposium on Cluster Computing and the Grid, 2003. Proceedings.. Tokyo, Japan: IEEE. pp. 138–145. doi:10.1109/CCGRID.2003.1199362. ISBN 0-7695-1919-9. "This paper focuses on SimGrid v2, which greatly improves on the first version of the software with more realistic network models and topologies. SimGrid v2 also enables the simulation of distributed scheduling agents, which has become critical for current scheduling research in large-scale platforms." 
  8. "[inria-00631141, v1 Towards Scalable, Accurate, and Usable Simulations of Distributed Applications and Systems"]. https://webperso.info.ucl.ac.be/~pvr/GrascompCloudDay2012/QuinsonRR-7761.pdf. 
  9. 9.0 9.1 "SimGrid 4 Release Notes — SimGrid documentation". https://simgrid.org/doc/latest/Release_Notes.html. 

Further reading