Jump to content

SimGrid

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by APANDIS (talk | contribs) at 20:29, 5 April 2025 (More formal, encyclopedic tone "Free and open-source" is clearer than "open source" alone "Toolkit" is more descriptive than "framework" in this context). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
SimGrid
Initial release1998 (1998)[1]
Stable release
4.0 / March 12, 2025; 2 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[2]
Websitesimgrid.org

SimGrid is a free and open-source toolkit for the simulation of distributed computing systems. It enables researchers and developers to evaluate the performance of algorithms, heuristics, and infrastructure designs in a virtual environment.

It consists of tools for comparing, evaluating, analyzing, and prototyping different algorithms, platform configurations, and system designs. SimGrid enables testing by simulating distributed computing environments to analyze system behavior. It is applied in a variety of fields, such as cloud computing, high-performance computing, grid computing, and peer-to-peer networking, in order to identify bottlenecks and assess system efficiency.

SimGrid is distributed as free software under the LGPL 2.1 license.[3]

APIs (Application Programming Interfaces)

SimGrid 4.0 supports multiple programming languages and operating systems through its APIs, which provide tools to analyze scheduling strategies, resource allocation policies, fault tolerance mechanisms, and other aspects of distributed computing.

SimGrid consists of four different interfaces:

  • Simulation Directed Acyclic Graph (SIMDAG): SIMDAG allows users to add tasks, add dependencies between tasks, retrieve information about the platform, schedule tasks for execution on particular resources, and compute the DAG's execution time.[4]
  • Meta Scheduling Grid (MSG): MSG allows studying Constraint Satisfaction Problem applications. It is utilized for studying and scheduling algorithms, among others.[4]
  • Grid Reality and Simulation (GRAS): This interface enables the development of distributed applications within the simulator, which can then be deployed without requiring code modifications.[5]
  • Simulated Message Passing Interface (SMPI): This interface allows the simulation of unmodified MPI applications by intercepting MPI primitives.

See also

References

  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. ^ "LICENSE-LGPL-2.1 · master · simgrid / simgrid · GitLab". GitLab. 2010-11-27. Retrieved 2025-03-19.
  4. ^ a b Casanova, Henri; Legrand, Arnaud; Quinson, Martin (March 4, 2008). "SimGrid: a Generic Framework for Large-Scale Distributed Experiments". Inria. IEEE – via HAL Open Science.
  5. ^ Quinson, Martin (November 2006). "GRAS: a Research and Development Framework for Grid and P2P Infrastructures". Inria – via HAL Open Science.