Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[Documentation] Updated MC config options
[simgrid.git] / doc / doxygen / options.doc
index d7d608c..8a1d4ab 100644 (file)
@@ -76,7 +76,7 @@ should provide information about all models for all existing resources.
    - \b cpu/model: specify the used CPU model
    - \b workstation/model: specify the used workstation model
 
-As of writting, the accepted network models are the following. Over
+%As of writing, the following network models are accepted. Over
 the time new models can be added, and some experimental models can be
 removed; check the values on your simulators for an uptodate
 information. Note that the CM02 model is described in the research report
@@ -95,6 +95,11 @@ described in
     settings (accurate modeling of slow start with correction factors on
     three intervals: < 1KiB, < 64 KiB, >= 64 KiB). See also \ref
     options_model_network_coefs "this section" for more info.
+  - \b IB: Realistic network model specifically tailored for HPC
+    settings with InfiniBand networks (accurate modeling contention 
+    behavior, based on the model explained in 
+    http://mescal.imag.fr/membres/jean-marc.vincent/index.html/PhD/Vienne.pdf). 
+    See also \ref options_model_network_coefs "this section" for more info.
   - \b CM02: Legacy network analytic model (Very similar to LV08, but
     without corrective factors. The timings of small messages are thus
     poorly modeled)
@@ -208,6 +213,12 @@ If you are using the SMPI model, these correction coeficients are
 themselves corrected by constant values depending on the size of the
 exchange. Again, only hardcore experts should bother about this fact.
 
+InfiniBand network behavior can be modeled through 3 parameters, as explained in
+http://mescal.imag.fr/membres/jean-marc.vincent/index.html/PhD/Vienne.pdf . These
+factors can be changed through option smpi/IB_penalty_factors:"βe;βs;γs". By 
+default SMPI uses factors computed one Stampede cluster from TACC, with optimal
+deployment of processes on nodes.
+
 \subsubsection options_model_network_crosstraffic Simulating cross-traffic
 
 As of SimGrid v3.7, cross-traffic effects can be taken into account in
@@ -295,7 +306,7 @@ void MC_assert(int prop);
 
 If you want to specify liveness properties (beware, that's
 experimental), you have to pass them on the command line, specifying
-the name of the file containing the property, as formated by the
+the name of the file containing the property, as formatted by the
 ltl2ba program.
 
 \verbatim
@@ -392,7 +403,9 @@ to the most effient:
 
 The only reason to change this setting is when the debugging tools get
 fooled by the optimized context factories. Threads are the most
-debugging-friendly contextes.
+debugging-friendly contextes, as they allow to set breakpoints anywhere with gdb
+ and visualize backtraces for all processes, in order to debug concurrency issues.
+Valgrind is also more comfortable with threads, but it should be usable with all factories.
 
 \subsection options_virt_stacksize Adapting the used stack size
 
@@ -417,7 +430,7 @@ model checker (see \ref options_mc_perf).
 
 In some cases, no stack guard page is used and the stack will silently
 overflow on other parts of the memory if the stack size is too small
-for your application. This happens :
+for your application. This happens :
 
 - on Windows systems;
 - when the model checker is enabled;
@@ -615,7 +628,7 @@ by changing the \b smpi/send_is_detached item. The default value is 65536.
 SMPI implements more than 100 different algorithms for MPI collective communication, to accurately 
 simulate the behavior of most of the existing MPI libraries. The \b smpi/coll_selector item can be used
  to use the decision logic of either OpenMPI or MPICH libraries (values: ompi or mpich, by default SMPI
-uses naive version of collective operations). Each collective operation can be manually selected with a 
+uses naive version of collective operations). Each collective operation can be manually selected with a
 \b smpi/collective_name:algo_name. Available algorithms are listed in \ref SMPI_collective_algorithms .
 
 
@@ -661,14 +674,14 @@ used. By setting it to 0, no guard pages will be used: in this case,
 you should avoid using small stacks (\b stack_size) as the stack will
 silently overflow on other parts of the memory.
 
-\section options_index Index of all existing configuration items
+\section options_index Index of all existing configuration options
 
 - \c contexts/factory: \ref options_virt_factory
+- \c contexts/guard_size: \ref options_virt_parallel
 - \c contexts/nthreads: \ref options_virt_parallel
 - \c contexts/parallel_threshold: \ref options_virt_parallel
 - \c contexts/stack_size: \ref options_virt_stacksize
 - \c contexts/synchro: \ref options_virt_parallel
-- \c contexts/guard_size: \ref options_virt_parallel
 
 - \c cpu/maxmin_selective_update: \ref options_model_optim
 - \c cpu/model: \ref options_model_select
@@ -680,9 +693,21 @@ silently overflow on other parts of the memory.
 - \c maxmin/precision: \ref options_model_precision
 
 - \c model-check: \ref options_modelchecking
-- \c model-check/property: \ref options_modelchecking_liveness
 - \c model-check/checkpoint: \ref options_modelchecking_steps
-- \c model-check/reduce: \ref options_modelchecking_reduction
+- \c model-check/communications_determinism: \ref options_modelchecking_comm_determinism
+- \c model-check/dot_output: \ref options_modelchecking_dot_output
+- \c model-check/hash: \ref options_modelchecking_hash
+- \c model-check/property: \ref options_modelchecking_liveness
+- \c model-check/max_depth: \ref options_modelchecking_max_depth
+- \c model-check/record: \ref options_modelchecking_record
+- \c model-check/reduction: \ref options_modelchecking_reduction
+- \c model-check/replay: \ref options_modelchecking_replay
+- \c model-check/send_determinism: \ref options_modelchecking_sparse_checkpoint
+- \c model-check/snapshot_fds: \ref options_modelchecking_snapshot_fds
+- \c model-check/sparse-checkpoint: \ref options_modelchecking_sparse_checkpoint
+- \c model-check/termination: \ref options_modelchecking_termination
+- \c model-check/timeout: \ref options_modelchecking_timeout
+- \c model-check/visited: \ref options_modelchecking_visited
 
 - \c network/bandwidth_factor: \ref options_model_network_coefs
 - \c network/coordinates: \ref options_model_network_coord
@@ -699,14 +724,14 @@ silently overflow on other parts of the memory.
 
 - \c surf/nthreads: \ref options_model_nthreads
 
-- \c smpi/simulation_computation: \ref options_smpi_bench
-- \c smpi/running_power: \ref options_smpi_bench
-- \c smpi/display_timing: \ref options_smpi_timing
-- \c smpi/cpu_threshold: \ref options_smpi_bench
 - \c smpi/async_small_thres: \ref options_model_network_asyncsend
-- \c smpi/send_is_detached: \ref options_model_smpi_detached
 - \c smpi/coll_selector: \ref options_model_smpi_collectives
+- \c smpi/cpu_threshold: \ref options_smpi_bench
+- \c smpi/display_timing: \ref options_smpi_timing
 - \c smpi/privatize_global_variables: \ref options_smpi_global
+- \c smpi/running_power: \ref options_smpi_bench
+- \c smpi/send_is_detached: \ref options_model_smpi_detached
+- \c smpi/simulation_computation: \ref options_smpi_bench
 
 - \c path: \ref options_generic_path
 - \c verbose-exit: \ref options_generic_exit