SimGrid

SimGrid is a framework for simulating and benchmarking applications on distributed computing systems. It offers high-level tools for comparing, evaluating, analyzing, and prototyping algorithms across different platforms. SimGrid has been used to conduct experimental simulation in multiple domains, including big data, cloud computing, high-performance computing, grid computing, and P2P computing.

SimGrid is distributed as under the GNU Lesser General Public License version 2.1 (LGPL 2.1).

History

SimGrid started 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. The original design was used for simulating scheduling of heuristics for heterogeneous platforms.

It has received funding from national and international research agencies and has evolved through various projects, including SONGS, USS-SimGrid, and ASTR.

APIs

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:

  • 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.

Comparison with other frameworks

See also

References

Uses material from the Wikipedia article SimGrid, released under the CC BY-SA 4.0 license.