means that SimGrid is developed by a vivid community of users and
developers. We hope that you will come and join us!
-SimGrid is the result of over 15 years of research from several
+SimGrid is the result of almost 20 years of research from several
groups, both in France and in the USA. It benefited of many funding
from various research instances, including the ANR, Inria, CNRS,
University of Lorraine, University of Hawai'i at Manoa, ENS Rennes and
the provided XML platform file, and with your deployment in a separate
XML file.
-@section starting_gears SimGrid Execution Gears
+@section starting_gears SimGrid Execution Modes
-Depending on the intended study, SimGrid can be run in several gears,
-that are different execution modes.
+Depending on the intended study, SimGrid can be run in several execution modes.
-** **Simulation Gear**. This is the most common gear, where you want
+** **Simulation Mode**. This is the most common execution mode, where you want
to study how your application behaves on the virtual platform under
the experimental scenario.
-
-In this gear, SimGrid can provide information about the time taken by
+
+In this mode, SimGrid can provide information about the time taken by
your application, the amount of energy dissipated by the platform to
run your application and the detailed usage of each resource.
-** **Model-Checking Gear**. This can be seen as a sort of exhaustive
-testing gear, where every possible outcome of your application is
-explored. In some sense, this gear tests your application for all
+** **Model-Checking Mode**. This can be seen as a sort of exhaustive
+testing mode, where every possible outcome of your application is
+explored. In some sense, this mode tests your application for all
possible platforms that you could imagine (and more).
-
+
You just provide the application and its deployment (amount of
processes and parameters), and the model-checker will litterally
explore all possible outcomes by testing all possible message
arrives first, and then rewind to the same point to explore the
scenario where B arrives first.
-This is a very powerful gear, where you can evaluate the correction of
+This is a very powerful mode, where you can evaluate the correction of
your application. It can verify either **safety properties** (asserts)
or **liveless properties** stating for example that if a given event
occures, then another given event will occur in a finite amount of
-steps. This gear is not only usable with the abstract algorithms
+steps. This mode is not only usable with the abstract algorithms
developed on top of the SimGrid APIs, but also with real MPI
applications (to some extend).
to explore. SimGrid tries to explore only non-redundent scenarios
thanks to classical reduction techniques (such as DPOR and stateful
exploration) but the exploration may well never finish if you don't
-carefully adapt your application to this gear.
+carefully adapt your application to this mode.
A classical trap is that the Model Checker can only verify whether
your application fits the provided properties, which is useless if you
application to never violate a given assert is to not start at all
because of a stupid bug.
-Another limit of this gear is that it does not use the performance
-models of the simulation gear. Time becomes discrete: You can say for
+Another limit of this mode is that it does not use the performance
+models of the simulation mode. Time becomes discrete: You can say for
example that the application took 42 steps to run, but there is no way
to know the amount of seconds that it took or the amount of watts that
it dissipated.
prove the correction of your application in all generality with this
tool.
-** **Benchmark Recording Gear**. During debug sessions, continuous
+** **Benchmark Recording Mode**. During debug sessions, continuous
integration testing and other similar use cases, you are often only
interested in the control flow. If your application apply filters to
huge images split in small blocks, the filtered image is probably not
virtual platform will take this block into account without requesting
the real hosting machine to benchmark it.
-@section starting_successes SimGrid Success Stories
-
-TBD
-
-- Many publications
-- Accurate speedup prediction for the Mont-Blanc cluster
-- It already happened that a divergence between the simulated outcome
- and the reality resulted from a testbed misconfiguration. In some
- sense, we fixed the reality because it was not getting the result
- that SimGrid correctly computed :)
-- Star-PU, BigDFT, TomP2P use SimGrid to chase their bugs and improve
- their efficiency.
-
@section starting_limits SimGrid Limits
This framework is by no means the perfect holly grail able to solve
- Studying security aspects of your application, in presence of
malicious agents.
+@section starting_successes SimGrid Success Stories
+
+SimGrid was cited in over 1,500 scientific papers (according to Google
+Scholar). Among them
+<a href="http://simgrid.gforge.inria.fr/Usages.php">over 200
+publications</a> (written by about 300 individuals) use SimGrid as a
+scientific instrument to conduct their experimental evaluation. These
+numbers do not count the articles contributing to SimGrid.
+This instrument was used in many research communities, such as
+<a href="https://hal.inria.fr/inria-00580599/">High-Performance Computing</a>,
+<a href="http://dx.doi.org/10.1109/CLOUD.2015.125">Cloud Computing</a>,
+<a href="http://dl.acm.org/citation.cfm?id=2310096.2310195">Workflow Scheduling</a>,
+<a href="https://hal.inria.fr/hal-01199200/">Big Data</a> and
+<a href="http://dx.doi.org/10.1109/WSCAD-SSC.2012.18">MapReduce</a>,
+<a href="http://ieeexplore.ieee.org/document/7515695/">Data Grid</a>,
+<a href="http://www.sciencedirect.com/science/article/pii/S1569190X17301028">Volunteer Computing</a>,
+<a href="https://hal.archives-ouvertes.fr/hal-01152469/">Peer-to-Peer Computing</a>,
+<a href="http://dx.doi.org/10.1109/TPDS.2016.2613043">Network Architecture</a>,
+<a href="http://ieeexplore.ieee.org/document/7946412/">Fog Computing</a>, or
+<a href="https://hal.archives-ouvertes.fr/hal-01333471">Batch Scheduling</a>
+<a href="http://simgrid.gforge.inria.fr/Usages.php"><b>(more info)</b></a>.
+
+If your platform description is accurate enough (see
+<a href="http://hal.inria.fr/hal-00907887">here</a> or
+<a href="https://hal.inria.fr/hal-01523608">there</a>),
+SimGrid can provide high-quality performance predictions. For example,
+we determined the speedup achieved by the Tibidabo Arm-based
+cluster before its construction
+(<a href="http://hal.inria.fr/hal-00919507">paper</a>). In this case,
+some differences between the prediction and the real timings were due to
+misconfiguration or other problems with the real platforms. To some extent,
+SimGrid could even be used to debug the real platform :)
+
+SimGrid is also used to debug, improve and tune several large
+applications.
+<a href="http://bigdft.org">BigDFT</a> (a massively parallel code
+computing the electronic structure of chemical elements developped by
+the CEA), <a href="http://starpu.gforge.inria.fr/">StarPU</a> (a
+Unified Runtime System for Heterogeneous Multicore Architectures
+developped by Inria Bordeaux) and
+<a href="https://tomp2p.net/dev/simgrid/">TomP2P</a> (a high performance
+key-value pair storage library developped at University of Zurich).
+Some of these applications enjoy large user communities themselves.
+
@section starting_next Where to proceed next?
Now that you know about the basic concepts of SimGrid, you can give it