Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
doc: Rework the intro pages
[simgrid.git] / docs / source / index.rst
index 37a0dfe..9c41acb 100644 (file)
 .. SimGrid documentation master file
 
-Welcome to SimGrid's documentation!
-===================================
+.. _index:
+
+The Modern Age of Computer Systems Simulation
+=============================================
+
+SimGrid is a framework to simulate distributed computer systems. It can be used to either :ref:`assess the performance of
+abstract algorithms <usecase_simalgo>`, to :ref:`debug and profile real MPI applications <usecase_smpi>`. To some extend, it can
+also be used to :ref:`formally assess the correctness of simple algorithms and applications <usecase_modelchecking>`.
+
+SimGrid is routinely used in studies on (data-)Grids,
+IaaS Clouds (:ref:`API <API_s4u_VirtualMachine>`, :ref:`examples <s4u_ex_clouds>`),
+Clusters, High-Performance Computing (`🖹 <http://hal.inria.fr/hal-01415484>`_),
+Peer-to-Peer systems,
+Volunteer Computing (`🖹 <http://www.sciencedirect.com/science/article/pii/S1569190X17301028>`__)
+Fog Computing (`🖹 <http://ieeexplore.ieee.org/document/7946412/>`__),
+MapReduce (`🖹 <http://www.sciencedirect.com/science/article/pii/S0167819113000215>`__) and
+`much more <https://simgrid.org/usages.html>`_.
+
+The simulation models are **fast** (`🖹 <http://hal.inria.fr/hal-00650233>`__) and
+**highly scalable** (`🖹 <http://hal.inria.fr/inria-00602216/>`__) while
+**theoretically sound and experimentally assessed** (`🖹 <http://doi.acm.org/10.1145/2517448>`__).
+Most of the time, SimGrid is used to predict the performance (time and energy) of a
+given IT infrastructure, and it includes a prototypical model checker to formally
+assess these systems.
+
+Technically speaking, SimGrid is a library. It is neither a graphical
+interface nor a command-line simulator running user scripts. The
+interaction with SimGrid is done by writing programs with the exposed
+functions to build your own simulator. This can be done in C/C++ or Python,
+on Linux, Mac OSX or Windows (using the WSL).
+
+SimGrid is a Free Software distributed under the LGPL-2.1-only license. You are
+welcome to use, study, share and improve it, provided that your version is as
+free as ours. SimGrid is developed for 20 years by a lively community of users
+and researchers from several groups, initially in France and the U.S.A. It
+is steadily funded by several research bodies. We hope that you will
+come and join us!
+
+SimGrid is a powerful tool, and this documentation will help you to make good use
+of it. Check its contents on the left. Each tutorial presents a classical use
+case, in a fast and practical manner. The user manual contains more
+thorough information. In each part, the important concepts are concisely
+introduced, before the reference manual. SimGrid is also described in several
+`scientific papers <https://simgrid.org/usages.html>`_.
+
+Please report any documentation issues, including typos or unclear elements. You
+can even propose changes by clicking on the "Edit on FramaGit" button at the top
+of every page. Bugs in the code should be reported
+`on FramaGit <https://framagit.org/simgrid/simgrid/issues>`_
 
-.. TODO
-..
-.. Change the content of this page to integrate the verbose content of the webpage. 
-.. The toctrees should be made hidden to only live as a sidebar.
-.. The webpage should be made light, graphical and nice looking.
 
 .. toctree::
+   :hidden:
    :maxdepth: 1
    :caption: Tutorials:
 
-       Simulating Algorithms <Tutorial_Algorithms.rst>
-       Simulating MPI Applications <Tutorial_MPI_Applications.rst>
+       Simulating distributed algorithms <Tutorial_Algorithms.rst>
+       Simulating MPI applications <Tutorial_MPI_Applications.rst>
+       Model-checking algorithms <Tutorial_Model-checking.rst>
 
 .. toctree::
+   :hidden:
    :maxdepth: 2
    :caption: User Manual:
 
-      Introduction <introduction.rst>
-         Main Concepts <intro_concepts.rst>
+      Introduction <Introduction.rst>
          Installing SimGrid <Installing_SimGrid.rst>
-         Start your Own Project <Start_Your_Own_Project.rst>
-      Describing your Application <application.rst>
-         The S4U Interface <app_s4u.rst>
-         The SMPI Interface <app_smpi.rst>
-         The MSG Interface <app_msg.rst>
-         The Java Bindings <app_java.rst>
-      Describing the Simulated Platform <platform.rst>
-         Modeling Hints <platform_howtos.rst>
-         DTD Reference <platform_reference.rst>
-      Describing the Experimental Scenario <scenario.rst>
+         Start your own project <Start_your_own_project.rst>
+         The SimGrid community <community.rst>
+         Release Notes <Release_Notes.rst>
+      Describing your application <application.rst>
+         The S4U interface <app_s4u.rst>
+         S4U examples <Examples.rst>
+         The SMPI interface <app_smpi.rst>
+         The XBT toolbox <The_XBT_toolbox.rst>
+      Describing the simulated platform <Platform.rst>
+         Network topology examples <Platform_examples.rst>
+         Advanced routing <Platform_routing.rst>
+         XML reference <XML_reference.rst>
+         C++ platforms <Platform_cpp.rst>
+      The SimGrid models <Models.rst>
+         Modeling hints <Modeling_howtos.rst>
+         Calibrating the models <Calibrating_the_models.rst>
+         SimGrid plugins <Plugins.rst>
+      Running an experiment <Experimental_setup.rst>
          Configuring SimGrid <Configuring_SimGrid.rst>
-      The SimGrid Models <models.rst>
-         ns-3 as a SimGrid model <ns3.rst>
-      Simulation Outcomes <outcomes.rst>
-      Use Cases and Howto <howto.rst>
-      The SimGrid Community <community.rst>
-      Frequently Asked Questions <faq.rst>
+         Deploying your application <Deploying_your_application.rst>
+         Simulation outcomes <Outcomes.rst>
 
+.. toctree::
+   :hidden:
+   :maxdepth: 2
+   :caption: SimGrid's Internals:
 
+      Design goals <Design_goals.rst>
+      Contributor's documentation <Contributors_Documentation.rst>
 
 .. Cheat Sheet on the sublevels
 ..