Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix the release date in the release notes
[simgrid.git] / docs / source / Configuring_SimGrid.rst
index fcd52dd..f907c9d 100644 (file)
@@ -84,6 +84,9 @@ Existing Configuration Items
   option. For example, ``--cfg=plugin:help`` will give you the list
   of plugins available in your installation of SimGrid.
 
+- **bmf/max-iterations:** :ref:`cfg=bmf/max-iterations`
+- **bmf/precision:** :ref:`cfg=bmf/precision`
+
 - **contexts/factory:** :ref:`cfg=contexts/factory`
 - **contexts/guard-size:** :ref:`cfg=contexts/guard-size`
 - **contexts/nthreads:** :ref:`cfg=contexts/nthreads`
@@ -251,9 +254,6 @@ models for all existing resources.
   - **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.
-  - **ptask_BMF:** More realistic model for heterogeneous resource sharing.
-    Implements BMF (Bottleneck max fairness) fairness. To be used with
-    parallel tasks instead of ptask_L07.
 
 - ``storage/model``: specify the used storage model. Only one model is
   provided so far.
@@ -262,12 +262,32 @@ models for all existing resources.
 
 .. todo: make 'compound' the default host model.
 
+.. _options_model_solver:
+
+Solver
+......
+
+The different models rely on a linear inequalities solver to share
+the underlying resources. SimGrid allows you to change the solver, but
+be cautious, **don't change it unless you are 100% sure**.
+  - items ``cpu/solver``, ``network/solver``, ``disk/solver`` and  ``host/solver``
+    allow you to change the solver for each model:
+
+    - **maxmin:** The default solver for all models except ptask. Provides a
+      max-min fairness allocation.
+    - **fairbottleneck:** The default solver for ptasks. Extends max-min to
+      allow heterogeneous resources.
+    - **bmf:** More realistic solver for heterogeneous resource sharing.
+      Implements BMF (Bottleneck max fairness) fairness. To be used with
+      parallel tasks instead of fair-bottleneck.
+
 .. _options_model_optim:
 
 Optimization Level
 ..................
 
-The network and CPU models that are based on lmm_solve (that
+The network and CPU models that are based on linear inequalities solver (that
 is, all our analytical models) accept specific optimization
 configurations.
 
@@ -294,14 +314,16 @@ configurations.
     the dependency induced by the backbone), but through a complicated
     and slow pattern that follows the actual dependencies.
 
+.. _cfg=bmf/precision:
 .. _cfg=maxmin/precision:
 .. _cfg=surf/precision:
 
 Numerical Precision
 ...................
 
-**Option** ``maxmin/precision`` **Default:** 0.00001 (in flops or bytes) |br|
-**Option** ``surf/precision`` **Default:** 0.00001 (in seconds)
+**Option** ``maxmin/precision`` **Default:** 1e-5 (in flops or bytes) |br|
+**Option** ``surf/precision`` **Default:** 1e-9 (in seconds) |br|
+**Option** ``bmf/precision`` **Default:** 1e-12 (no unit)
 
 The analytical models handle a lot of floating point values. It is
 possible to change the epsilon used to update and compare them through
@@ -330,6 +352,17 @@ Such limitations help both to the simulation speed and simulation accuracy
 on highly constrained scenarios, but the simulation speed suffers of this
 setting on regular (less constrained) scenarios so it is off by default.
 
+.. _cfg=bmf/max-iterations:
+
+BMF settings
+............
+
+**Option** ``bmf/max-iterations`` **Default:** 1000
+
+It may happen in some settings that the BMF solver fails to converge to
+a solution, so there is a hard limit on the amount of iteration count to
+avoid infinite loops.
+
 .. _options_model_network:
 
 Configuring the Network Model