SimGrid

Last updated

SimGrid
Initial release1999;26 years ago (1999) [1]
Stable release
4.0 / March 12, 2025;2 months ago (2025-03-12)
Repository https://framagit.org/simgrid/simgrid
Written inCore: 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.org

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]

Contents

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:

Release history

VersionRelease dateSignificant changes
SimGrid v1.01999
  • First release of SimGrid
  • Scheduled algorithms for heterogeneous platforms
SimGrid v2.02003
SimGrid v3.32009
  • Complete rewrite of the simulation core for better modularity, speed and scalability [8]
SimGrid v4.0March 12, 2025 [9]
  • Reworked the platform generation API to simplify it and make it more natural [9]

See also

References

  1. 1 2 3 4 Casanova, Henri; Legrand, Arnaud; Quinson, Martin (March 4, 2008). "SimGrid: a Generic Framework for Large-Scale Distributed Experiments". Inria. IEEE via HAL Open Science.
  2. 1 2 "simgrid/COPYING at master · simgrid/simgrid". GitHub. Retrieved 2025-05-14.
  3. 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.
  4. "LICENSE-LGPL-2.1 · master · simgrid / simgrid · GitLab". GitLab. 2010-11-27. Retrieved 2025-03-19.
  5. 1 2 "SimGrid History". simgrid.org. Retrieved 2025-04-20.
  6. "Overview - SIMGRID - IN2P3-Forge". forge.in2p3.fr. Retrieved 2025-05-01.
  7. 1 2 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 . Retrieved 8 May 2025. 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" (PDF). webperso.info.ucl.ac.be. Retrieved 8 May 2025.
  9. 1 2 "SimGrid 4 Release Notes — SimGrid documentation". simgrid.org. Retrieved 8 May 2025.