Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
docs: prefer svg to png, and inclusion to copy/paste
[simgrid.git] / docs / source / tuto_smpi.rst
index 082bbb1..18b5d9a 100644 (file)
@@ -37,7 +37,7 @@ only plan to debug your application in a reproducible setup, without
 any performance-related analysis.
 
 How does it work?
------------------
+^^^^^^^^^^^^^^^^^
 
 In SMPI, communications are simulated while computations are
 emulated. This means that while computations occur as they would in
@@ -61,7 +61,53 @@ to predict the time taken by each communications. Any computations
 occuring between two MPI calls are benchmarked, and the corresponding
 time is reported into the simulator.
 
+.. image:: /tuto_smpi/img/big-picture.svg
+   :align: center         
+
 Describing Your Platform
-========================
+------------------------
+
+As a SMPI user, you are supposed to provide a description of your
+virtual platform, that is mostly a set of simulated hosts and network
+links with some performance characteristics. SimGrid provides a plenty
+of :ref:`documentation <platform>`_ and examples (in the
+`examples/platforms <https://framagit.org/simgrid/simgrid/tree/master/examples/platforms>`_
+source directory), and this section only shows a small set of introductory
+examples.
+
+Simple Example with 3 hosts
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+At the most basic level, you can describe your simulated platform as a
+graph of hosts and network links. For instance:
+
+.. image:: /tuto_smpi/img/3hosts.png
+   :align: center
+
+.. literalinclude:: /tuto_smpi/3hosts.xml
+   :language: xml
+
+Note the way in which hosts, links, and routes are defined in
+this XML. All hosts are defined with a speed (in Gflops), and links
+with a latency (in us) and bandwidth (in MBytes per second). Other
+units are possible and written as expected. Routes specify the list of
+links encountered from one route to another. Routes are symmetrical by
+default.
+
+Cluster with a Crossbar
+^^^^^^^^^^^^^^^^^^^^^^^
+
+A very common parallel computing platform is a homogeneous cluster in
+which hosts are interconnected via a crossbar switch with as many
+ports as hosts, so that any disjoint pairs of hosts can communicate
+concurrently at full speed. For instance:
+
+Cluster with a Shared Backbone
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
+Another popular model for a parallel platform is that of a set of
+homogeneous hosts connected to a shared communication medium, a
+backbone, with some finite bandwidth capacity and on which
+communicating host pairs can experience contention. For instance:
+       
 ..  LocalWords:  SimGrid