Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add new entry in Release_Notes.
[simgrid.git] / docs / source / Platform_examples.rst
index 1e2e971..29b481d 100644 (file)
    <br/>
 
 .. _platform_examples:
-   
+
 Network Topology Examples
 =========================
 
+.. _platform_example_3hosts:
+
 Simple Example with 3 hosts
 ---------------------------
 
@@ -32,12 +34,12 @@ simulated platform as a graph of hosts and network links.
 
 The elements basic elements (with :ref:`pf_tag_host` and
 :ref:`pf_tag_link`) are described first, and then the routes between
-any pair of hosts are explicitly given with :ref:`pf_tag_route`. 
+any pair of hosts are explicitly given with :ref:`pf_tag_route`.
 
 Any host must be given a computational speed in flops while links must
 be given a latency and a bandwidth. You can write 1Gf for
-1,000,000,000 flops (full list of units in the reference guide of 
-:ref:`pf_tag_host` and :ref:`pf_tag_link`). 
+1,000,000,000 flops (full list of units in the reference guide of
+:ref:`pf_tag_host` and :ref:`pf_tag_link`).
 
 Routes defined with :ref:`pf_tag_route` are symmetrical by default,
 meaning that the list of traversed links from A to B is the same as
@@ -48,53 +50,53 @@ root tag must be :ref:`pf_tag_platform`. If the ``version`` attribute
 does not match what SimGrid expects, you will be hinted to use to the
 ``simgrid_update_xml`` utility to update your file.
 
+There is often more than one way to model a given platform. For example, the above platform could also be
+:ref:`expressed using a shortest path algorithm <platform_rm_shortest>` instead of explicitely listing all routes as in
+the example above.
+
 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:
+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. Because there
+is no contention on the switch, it is modeled as if there were a direct link from each host to the outgoing router. For
+instance:
+
 
 .. literalinclude:: ../../examples/platforms/cluster_crossbar.xml
    :language: xml
    :lines: 1-3,18-
 
-One specifies a name prefix and suffix for each host, and then give an
-integer range. In the example the cluster contains 65535 hosts (!),
-named ``node-0.simgrid.org`` to ``node-65534.simgrid.org``. All hosts
-have the same power (1 Gflop/sec) and are connected to the switch via
-links with same bandwidth (125 MBytes/sec) and latency (50
+One specifies a name prefix and suffix for each host, and then give an integer range. In the example the cluster contains
+65536 hosts (!), named ``node-0.simgrid.org`` to ``node-65535.simgrid.org``. All hosts have the same power (1 Gflop/sec)
+and are connected directly to the switch via private links with same bandwidth (125 MBytes/sec) and latency (50
 microseconds).
 
-.. todo::
+The outgoing router is named ``${prefix}${cluster_id}_router${suffix}`` so in this case, this is
+``node-cluster-crossbar_router.simgrid.org``.
 
-   Add the picture.
+.. image:: ../../examples/platforms/cluster_crossbar.svg
+   :align: center
 
 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:
-
+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 limited bandwidth capacity and on which communicating host pairs can experience contention.
+For instance:
 
 .. literalinclude:: ../../examples/platforms/cluster_backbone.xml
    :language: xml
    :lines: 1-3,18-
 
-The only differences with the crossbar cluster above are the ``bb_bw``
-and ``bb_lat`` attributes that specify the backbone characteristics
-(here, a 500 microseconds latency and a 2.25 GByte/sec
-bandwidth). This link is used for every communication within the
-cluster. The route from ``node-0.simgrid.org`` to ``node-1.simgrid.org``
-counts 3 links: the private link of ``node-0.simgrid.org``, the backbone
-and the private link of ``node-1.simgrid.org``.
+The main differences with the crossbar cluster above are the ``bb_bw`` and ``bb_lat`` attributes that specify the backbone
+characteristics (here, a 500 microseconds latency and a 2.25 GBytes/sec bandwidth). This link is used for every
+communication within the cluster. The route from ``node-0.simgrid.org`` to ``node-1.simgrid.org`` counts 3 links: the
+private link of ``node-0.simgrid.org``, the backbone and the private link of ``node-1.simgrid.org``. The route from
+``node-0.simgrid.org`` to the outer internet counts 2 links: the private link of ``node-0.simgrid.org`` and the backbone.
 
-.. todo::
-
-   Add the picture.
+.. image:: ../../examples/platforms/cluster_backbone.svg
+   :align: center
 
 Torus Cluster
 -------------
@@ -130,8 +132,8 @@ cluster (and thus reduce its price) while maintaining a high bisection
 bandwidth and a relatively low diameter. To model this in SimGrid,
 pass a ``topology="FAT_TREE"`` attribute to your cluster. The
 ``topo_parameters=#levels;#downlinks;#uplinks;link count`` follows the
-semantic introduced in the `Figure 1B of this article
-<http://webee.eedev.technion.ac.il/wp-content/uploads/2014/08/publication_574.pdf>`_.
+semantic introduced in the `Figure 1(b) of this article
+<https://ece.technion.ac.il/wp-content/uploads/2021/01/publication_776.pdf>`_.
 
 Here is the meaning of this example: ``2 ; 4,4 ; 1,2 ; 1,2``
 
@@ -191,10 +193,10 @@ For example, ``3,4 ; 3,2 ; 3,1 ; 2``:
 Star Zone
 ---------
 
-In a Star topology, as the name says, nodes are organized following a star.
-It's similar to a cluster topology but you have the flexibility to set
-different route for every component in the star.
-Unfortunately, it's only available in the C++ interface.
+A Star topology can be seen as a crossbar cluster that does not interconnect hosts, but subzones. It can for example be
+used to model a cluster of complex hosts, where each host is disaggregated, with CPUs, GPUs and maybe a network on chip. It
+is similar to a cluster topology, with the flexibility to set different route for every component in the star. Because of
+its complexity, this topology is only available from the C++ interface.
 
 .. image:: img/starzone.svg
     :scale: 80%
@@ -241,4 +243,3 @@ The following code illustrates how to create this Star Zone and add the appropri
    SimGrid comes with an extensive set of platforms in the
    `examples/platforms <https://framagit.org/simgrid/simgrid/tree/master/examples/platforms>`_
    directory that should be described here.
-