Section: New Software and Platforms
Keywords: Large-scale Emulators - Grid Computing - Distributed Applications
Scientific Description: SimGrid is a toolkit that provides core functionalities 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.
News Of The Year: There were 3 major releases in 2018: The public API was sanitized (with compatibility wrappers in place). Th documentation was completely overhauled. Our continuous integration was greatly improved ( 45 Proxy Apps + BigDFT + StarPU + BatSim now tested nightly). Some kernel headers are now installed, allowing external plugins. Allow dynamic replay of MPI apps, controlled by S4U actors. Port the MPI trace replay engine to C++, fix visualization (+ the classical bug fixes and doc improvement).