X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9104957deccc59e0e804215d5db498fabfd40d29..3b9b67271c75a1c42a1f0848f28f4ae3c6fdce16:/docs/source/platform_howtos.rst
diff --git a/docs/source/platform_howtos.rst b/docs/source/platform_howtos.rst
index 0cd01b449e..e7dc6206e9 100644
--- a/docs/source/platform_howtos.rst
+++ b/docs/source/platform_howtos.rst
@@ -183,6 +183,68 @@ period and another one for the shutdown period.
Of course, this is only one possible way to model these things. YMMV ;)
+.. _howto_parallel_links:
+
+Modeling parallel links
+***********************
+
+Most HPC topologies, such as fat-trees, allow parallel links (a
+router A and a router B can be connected by more than one link).
+You might be tempted to model this configuration as follows :
+
+.. code-block:: xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+But that will not work, since SimGrid doesn't allow several routes for
+a single `{src ; dst}` pair. Instead, what you should do is :
+
+ - Use a single route with both links (so both will be traversed
+ each time a message is exchanged between router A and B)
+
+ - Double the bandwidth of one link, to model the total bandwidth of
+ both links used in parallel. This will make sure no combined
+ communications between router A and B use more than the bandwidth
+ of two links
+
+ - Assign the other link a `FATPIPE` sharing policy, which will allow
+ several communications to use the full bandwidth of this link without
+ having to share it. This will model the fact that individual
+ communications can use at most this link's bandwidth
+
+ - Set the latency of one of the links to 0, so that latency is only
+ accounted for once (since both link are traversed by each message)
+
+So the final platform for our example becomes :
+
+.. code-block:: xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
.. _understanding_lv08
Understanding the default TCP model
@@ -226,8 +288,8 @@ on such a simple example:
- When data is transferred from A to B, some TCP ACK messages travel in the
opposite direction. To reflect the impact of this `cross-traffic`, SimGrid
simulates a flow from B to A that represents an additional bandwidth
- consumption of `0.05`. The route from B to A is implicity declared in the
- platfrom file and uses the same link `link1` as if the two hosts were
+ consumption of `0.05`. The route from B to A is implicitly declared in the
+ platform file and uses the same link `link1` as if the two hosts were
connected through a communication bus. The bandwidth share allocated to the
flow from A to B is then the available bandwidth of `link1` (i.e., 97% of
the nominal bandwidth of 1Mb/s) divided by 1.05 (i.e., the total consumption).