Section: New Software and Platforms
SimGrid
Scientific Instrument for the study of Large-Scale Distributed Systems.
- Contact:
- URL:
- Status:
- License:
- Presentation:
-
SimGrid is a toolkit providing core features for the simulation of distributed applications in heterogeneous distributed environments.
The simulation engine uses algorithmic and implementation techniques toward the fast simulation of large systems on a single machine. The models are theoretically grounded and experimentally validated. The results are reproducible, enabling better scientific practices.
Its models of networks, cpus and disks are adapted to (Data)Grids, P2P, Clouds, Clusters and HPC, allowing multi-domain studies. It can be used either to simulate algorithms and prototypes of applications, or to emulate real MPI applications through the virtualization of their communication, or to formally assess algorithms and applications that can run in the framework.
The formal verification module explores all possible message interleavings in the application, searching for states violating the provided properties. We recently added the ability to assess liveness properties over arbitrary and legacy codes, thanks to a system-level introspection tool that provides a finely detailed view of the running application to the model checker. This can for example be leveraged to verify both safety or liveness properties, on arbitrary MPI code written in C/C++/Fortran.
- Active contributors from Myriads project-team:
- Other active contributors:
-
Arnaud Legrand (Mescal project-team, CNRS & Inria Rhone-Alpes), Frédéric Suter (Avalon project-team, CNRS & Inria Rhone-Alpes).
- Impact:
-
SimGrid has an active user community of more than one hundred members, mainly composed of researchers and students. In the last decade only, it grounded the experiments of 6 PhDs works, 25 journal papers, and over 100 conference papers. The community gathers every year during the SimGrid User's Days workshop.
SimGrid is also used to run the regression and performance tests and tuning of two large applications: BigDFT (a massively parallel code computing the electronic structure of chemical elements developed by the CEA) and StarPU (a Unified Runtime System for Heterogeneous Multicore Architectures developed by Inria Bordeaux). Both of these programs enjoy large user communities themselves.