Jump to content

SimGrid

From Wikipedia, the free encyclopedia
SimGrid
Initial release1998 (1998)[1]
Stable release
4.0 / March 12, 2025; 46 days 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
License GNU LGPL-2.1[2]
Websitesimgrid.org

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]
  1. ^ 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.
  2. ^ "Official SimGrid Page". Retrieved October 17, 2024.
  3. ^ 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.
  4. ^ "They use SimGrid". simgrid.org. Retrieved 2025-04-08.
  5. ^ "LICENSE-LGPL-2.1 · master · simgrid / simgrid · GitLab". GitLab. 2010-11-27. Retrieved 2025-03-19.
  6. ^ "SimGrid History". simgrid.org. Retrieved 2025-04-20.
[edit]