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]

Initial release1999; 27 years ago (1999)[1]
Stable release
4.0 / March 12, 2025; 11 months ago (2025-03-12)
Written inCore: C++; Bindings: Python
Quick facts Initial release, Stable release ...
SimGrid
Initial release1999; 27 years ago (1999)[1]
Stable release
4.0 / March 12, 2025; 11 months ago (2025-03-12)
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
Repositoryhttps://framagit.org/simgrid/simgrid
Close

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

More information Version, Release date ...
Version Release date Significant changes
SimGrid v1.0 1999
  • First release of SimGrid
  • Scheduled algorithms for heterogeneous platforms
SimGrid v2.0 2003
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]
SimGrid v4.1 November 11, 2025[10]
  • Added the ability to unseal a network zone[11]
  • Refactored the whole CI infrastructure[12]
Close

See also

References

Further reading

Related Articles

Wikiwand AI