Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
doc: Rework the intro pages
[simgrid.git] / docs / source / index.rst
1 .. SimGrid documentation master file
2
3 .. _index:
4
5 The Modern Age of Computer Systems Simulation
6 =============================================
7
8 SimGrid is a framework to simulate distributed computer systems. It can be used to either :ref:`assess the performance of
9 abstract algorithms <usecase_simalgo>`, to :ref:`debug and profile real MPI applications <usecase_smpi>`. To some extend, it can
10 also be used to :ref:`formally assess the correctness of simple algorithms and applications <usecase_modelchecking>`.
11
12 SimGrid is routinely used in studies on (data-)Grids,
13 IaaS Clouds (:ref:`API <API_s4u_VirtualMachine>`, :ref:`examples <s4u_ex_clouds>`),
14 Clusters, High-Performance Computing (`🖹 <http://hal.inria.fr/hal-01415484>`_),
15 Peer-to-Peer systems,
16 Volunteer Computing (`🖹 <http://www.sciencedirect.com/science/article/pii/S1569190X17301028>`__)
17 Fog Computing (`🖹 <http://ieeexplore.ieee.org/document/7946412/>`__),
18 MapReduce (`🖹 <http://www.sciencedirect.com/science/article/pii/S0167819113000215>`__) and
19 `much more <https://simgrid.org/usages.html>`_.
20
21 The simulation models are **fast** (`🖹 <http://hal.inria.fr/hal-00650233>`__) and
22 **highly scalable** (`🖹 <http://hal.inria.fr/inria-00602216/>`__) while
23 **theoretically sound and experimentally assessed** (`🖹 <http://doi.acm.org/10.1145/2517448>`__).
24 Most of the time, SimGrid is used to predict the performance (time and energy) of a
25 given IT infrastructure, and it includes a prototypical model checker to formally
26 assess these systems.
27
28 Technically speaking, SimGrid is a library. It is neither a graphical
29 interface nor a command-line simulator running user scripts. The
30 interaction with SimGrid is done by writing programs with the exposed
31 functions to build your own simulator. This can be done in C/C++ or Python,
32 on Linux, Mac OSX or Windows (using the WSL).
33
34 SimGrid is a Free Software distributed under the LGPL-2.1-only license. You are
35 welcome to use, study, share and improve it, provided that your version is as
36 free as ours. SimGrid is developed for 20 years by a lively community of users
37 and researchers from several groups, initially in France and the U.S.A. It
38 is steadily funded by several research bodies. We hope that you will
39 come and join us!
40
41 SimGrid is a powerful tool, and this documentation will help you to make good use
42 of it. Check its contents on the left. Each tutorial presents a classical use
43 case, in a fast and practical manner. The user manual contains more
44 thorough information. In each part, the important concepts are concisely
45 introduced, before the reference manual. SimGrid is also described in several
46 `scientific papers <https://simgrid.org/usages.html>`_.
47
48 Please report any documentation issues, including typos or unclear elements. You
49 can even propose changes by clicking on the "Edit on FramaGit" button at the top
50 of every page. Bugs in the code should be reported
51 `on FramaGit <https://framagit.org/simgrid/simgrid/issues>`_
52
53
54 .. toctree::
55    :hidden:
56    :maxdepth: 1
57    :caption: Tutorials:
58
59         Simulating distributed algorithms <Tutorial_Algorithms.rst>
60         Simulating MPI applications <Tutorial_MPI_Applications.rst>
61         Model-checking algorithms <Tutorial_Model-checking.rst>
62
63 .. toctree::
64    :hidden:
65    :maxdepth: 2
66    :caption: User Manual:
67
68       Introduction <Introduction.rst>
69          Installing SimGrid <Installing_SimGrid.rst>
70          Start your own project <Start_your_own_project.rst>
71          The SimGrid community <community.rst>
72          Release Notes <Release_Notes.rst>
73       Describing your application <application.rst>
74          The S4U interface <app_s4u.rst>
75          S4U examples <Examples.rst>
76          The SMPI interface <app_smpi.rst>
77          The XBT toolbox <The_XBT_toolbox.rst>
78       Describing the simulated platform <Platform.rst>
79          Network topology examples <Platform_examples.rst>
80          Advanced routing <Platform_routing.rst>
81          XML reference <XML_reference.rst>
82          C++ platforms <Platform_cpp.rst>
83       The SimGrid models <Models.rst>
84          Modeling hints <Modeling_howtos.rst>
85          Calibrating the models <Calibrating_the_models.rst>
86          SimGrid plugins <Plugins.rst>
87       Running an experiment <Experimental_setup.rst>
88          Configuring SimGrid <Configuring_SimGrid.rst>
89          Deploying your application <Deploying_your_application.rst>
90          Simulation outcomes <Outcomes.rst>
91
92 .. toctree::
93    :hidden:
94    :maxdepth: 2
95    :caption: SimGrid's Internals:
96
97       Design goals <Design_goals.rst>
98       Contributor's documentation <Contributors_Documentation.rst>
99
100 .. Cheat Sheet on the sublevels
101 ..
102 ..   # with overline, for parts
103 ..   * with overline, for chapters
104 ..   =, for sections
105 ..   -, for subsections
106 ..   ^, for subsubsections
107 ..   ", for paragraphs