X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a6e488781dadd92ea13e74150074c4207fefe478..efee1893d1b905f1181db807b66965f1828dcea2:/docs/source/Configuring_SimGrid.rst diff --git a/docs/source/Configuring_SimGrid.rst b/docs/source/Configuring_SimGrid.rst index 17e2f2e329..45a12bce01 100644 --- a/docs/source/Configuring_SimGrid.rst +++ b/docs/source/Configuring_SimGrid.rst @@ -105,7 +105,6 @@ Existing Configuration Items - **host/model:** :ref:`options_model_select` -- **maxmin/precision:** :ref:`cfg=maxmin/precision` - **maxmin/concurrency-limit:** :ref:`cfg=maxmin/concurrency-limit` - **model-check:** :ref:`options_modelchecking` @@ -140,7 +139,8 @@ Existing Configuration Items - **storage/max_file_descriptors:** :ref:`cfg=storage/max_file_descriptors` -- **surf/precision:** :ref:`cfg=surf/precision` +- **precision/timing:** :ref:`cfg=precision/timing` +- **precision/work-amount:** :ref:`cfg=precision/work-amount` - **For collective operations of SMPI,** please refer to Section :ref:`cfg=smpi/coll-selector` - **smpi/auto-shared-malloc-thresh:** :ref:`cfg=smpi/auto-shared-malloc-thresh` @@ -231,27 +231,17 @@ models for all existing resources. simulators as network models (see :ref:`models_ns3`). This model can be :ref:`further configured `. -- ``cpu/model``: specify the used CPU model. We have only one model - for now: +- ``cpu/model``: specify the used CPU model. We have only one model for now: - **Cas01:** Simplistic CPU model (time=size/speed) -- ``host/model``: The host concept is the aggregation of a CPU with a - network card. Three models exists, but actually, only 2 of them are - interesting. The "compound" one is simply due to the way our - internal code is organized, and can easily be ignored. So at the - end, you have two host models: The default one allows aggregation of - an existing CPU model with an existing network model, but does not - allow parallel tasks because these beasts need some collaboration - between the network and CPU model. - - - **default:** Default host model. Currently, CPU:Cas01 and - network:LV08 (with cross traffic enabled) - - **compound:** Host model that is automatically chosen if - you change the network and CPU models - - **ptask_L07:** Host model somehow similar to Cas01+CM02 but - allowing "parallel tasks", that are intended to model the moldable - tasks of the grid scheduling literature. +- ``host/model``: we have two such models for now. + + - **default:** Default host model. It simply uses the otherwise configured models for cpu, disk and network (i.e. CPU:Cas01, + disk:S19 and network:LV08 by default) + - **ptask_L07:** This model is mandatory if you plan to use parallel tasks (and useless otherwise). ptasks are intended to + model the moldable tasks of the grid scheduling literature. A specific host model is necessary because each such activity + has a both compute and communicate components, so the CPU and network models must be mixed together. - ``storage/model``: specify the used storage model. Only one model is provided so far. @@ -313,14 +303,14 @@ configurations. and slow pattern that follows the actual dependencies. .. _cfg=bmf/precision: -.. _cfg=maxmin/precision: -.. _cfg=surf/precision: +.. _cfg=precision/timing: +.. _cfg=precision/work-amount: Numerical Precision ................... -**Option** ``maxmin/precision`` **Default:** 1e-5 (in flops or bytes) |br| -**Option** ``surf/precision`` **Default:** 1e-9 (in seconds) |br| +**Option** ``precision/timing`` **Default:** 1e-9 (in seconds) |br| +**Option** ``precision/work-amount`` **Default:** 1e-5 (in flops or bytes) |br| **Option** ``bmf/precision`` **Default:** 1e-12 (no unit) The analytical models handle a lot of floating point values. It is @@ -442,8 +432,8 @@ This was also computed on the Stampede Supercomputer. **Option** ``network/weight-S`` **Default:** depends on the model Value used to account for RTT-unfairness when sharing a bottleneck (network connections with a large RTT are generally penalized -against those with a small one). Described in `Accuracy Study and Improvement of Network Simulation in the SimGrid Framework -`_ +against those with a small one). See :ref:`models_TCP` and also this scientific paper: `Accuracy Study and Improvement of Network +Simulation in the SimGrid Framework `_ Default values for ``CM02`` is 0. ``LV08`` sets it to 20537 while both ``SMPI`` and ``IB`` set it to 8775. @@ -466,7 +456,7 @@ Infiniband model InfiniBand network behavior can be modeled through 3 parameters ``smpi/IB-penalty-factors:"βe;βs;γs"``, as explained in `the PhD -thesis of Jean-Marc Vincent +thesis of Jérôme Vienne `_ (in French) or more concisely in `this paper `_, even if that paper does only describe models for myrinet and ethernet. @@ -557,13 +547,12 @@ are meant to be detached as well. Configuring ns-3 ^^^^^^^^^^^^^^^^ -**Option** ``ns3/TcpModel`` **Default:** "default" (ns-3 default) +**Option** ``ns3/NetworkModel`` **Default:** "default" (ns-3 default TCP) -When using ns-3, there is an extra item ``ns3/TcpModel``, corresponding -to the ``ns3::TcpL4Protocol::SocketType`` configuration item in -ns-3. The only valid values (enforced on the SimGrid side) are -'default' (no change to the ns-3 configuration), 'NewReno' or 'Reno' or -'Tahoe'. +When using ns-3, the item ``ns3/NetworkModel`` can be used to switch between TCP or UDP, and switch the used TCP variante. If +the item is left unchanged, ns-3 uses the default TCP implementation. With a value of "UDP", ns-3 is set to use UDP instead. +With the value of either 'NewReno' or 'Cubic', the ``ns3::TcpL4Protocol::SocketType`` configuration item in ns-3 is set to the +corresponding protocol. **Option** ``ns3/seed`` **Default:** "" (don't set the seed in ns-3) @@ -644,9 +633,12 @@ receive call for small messages sent when the system buffers are empty. In SMPI, this depends on the message size, that is compared against two thresholds: - if (size < :ref:`smpi/async-small-thresh `) then - MPI_Send returns immediately, even if the corresponding receive has not be issued yet. -- if (:ref:`smpi/async-small-thresh ` < size < :ref:`smpi/send-is-detached-thresh `) then - MPI_Send returns as soon as the corresponding receive has been issued. This is known as the eager mode. + MPI_Send returns immediately, and the message is sent even if the + corresponding receive has not be issued yet. This is known as the eager mode. +- if (:ref:`smpi/async-small-thresh ` < size < + :ref:`smpi/send-is-detached-thresh `) then + MPI_Send also returns immediately, but SMPI waits for the corresponding + receive to be posted, in order to perform the communication operation. - if (:ref:`smpi/send-is-detached-thresh ` < size) then MPI_Send returns only when the message has actually been sent over the network. This is known as the rendez-vous mode.