Logo AND Algorithmique Numérique Distribuée

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