Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
improve the doc of the release process
[simgrid.git] / doc / doxygen / options.doc
index 98f91cc..9fb3399 100644 (file)
@@ -316,7 +316,7 @@ setting on regular (less constrained) scenarios so it is off by default.
 \subsubsection options_model_network_gamma Maximal TCP window size
 
 The analytical models need to know the maximal TCP window size to take
-the TCP congestion mechanism into account. This is set to 20000 by
+the TCP congestion mechanism into account. This is set to 4194304 by
 default, but can be changed using the \b network/TCP-gamma item.
 
 On linux, this value can be retrieved using the following
@@ -654,7 +654,7 @@ the slowest to the most efficient:
  - \b ucontext: fast factory using System V contexts (Linux and FreeBSD only)
  - \b boost: This uses the [context implementation](http://www.boost.org/doc/libs/1_59_0/libs/context/doc/html/index.html)
    of the boost library for a performance that is comparable to our
-   raw implementation.\nInstall the relevant library (e.g. with the
+   raw implementation.\n Install the relevant library (e.g. with the
    libboost-contexts-dev package on Debian/Ubuntu) and recompile
    SimGrid. Note that our implementation is not compatible with recent
    implementations of the library, and it will be hard to fix this since
@@ -998,49 +998,21 @@ of counters, the "default" set.
 
 \subsection options_smpi_privatization smpi/privatization: Automatic privatization of global variables
 
-MPI executables are usually meant to be executed in separated processes, but SMPI is
-executed in only one process. Global variables from executables will be placed
-in the same memory zone and shared between processes, causing intricate bugs.
-Several options are possible to avoid this, as described in the main
-<a href="https://hal.inria.fr/hal-01415484">SMPI publication</a>.
-SimGrid provides two ways of automatically privatizing the globals,
-and this option allows to choose between them.
-
-  - <b>no</b> (default): Do not automatically privatize variables.
-  - <b>mmap</b> or <b>yes</b>: Runtime automatic switching of the data segments.\n
-    SMPI stores a copy of each global data segment for each process,
-    and at each context switch replaces the actual data with its copy
-    from the right process. No copy actually occures as this mechanism
-    uses mmap for efficiency. As such, it is for now limited to
-    systems supporting this functionnality (all Linux and most BSD).\n
-    Another limitation is that SMPI only accounts for global variables
-    defined in the executable. If the processes use external global
-    variables from dynamic libraries, they won't be switched
-    correctly. The easiest way to solve this is to statically link
-    against the library with these globals (but you should never
-    statically link against the simgrid library itself).
-  - <b>dlopen</b>: Link multiple times against the binary.\n  
-    SMPI loads several copy of the same binary in memory, resulting in
-    the natural duplication global variables. Since the dynamic linker
-    refuses to link the same file several times, the binary is copied
-    in a temporary file before being dl-loaded (it is erased right
-    after loading).\n
-    Note that this feature is somewhat experimental at time of writing
-    (v3.16) but seems to work.\n
-    This approach greatly speeds up the context switching, down to
-    about 40 CPU cycles with our raw contextes, instead of requesting
-    several syscalls with the \c mmap approach. Another advantage is
-    that it permits to run the SMPI contexts in parallel, which is
-    obviously not possible with the \c mmap approach.\n
-    Further work may be possible to alleviate the memory and disk
-    overconsumption. It seems that we could 
-    <a href="https://lwn.net/Articles/415889/">punch holes</a>
-    in the files before dl-loading them to remove the code and
-    constants, and mmap these area onto a unique copy. This require
-    to understand the ELF layout of the file, but would 
-    reduce the disk- and memory- usage to the bare minimum. In
-    addition, this would reduce the pressure on the CPU caches (in
-    particular on instruction one).
+MPI executables are usually meant to be executed in separated
+processes, but SMPI is executed in only one process. Global variables
+from executables will be placed in the same memory zone and shared
+between processes, causing intricate bugs.  Several options are
+possible to avoid this, as described in the main
+<a href="https://hal.inria.fr/hal-01415484">SMPI publication</a> and in
+the @ref SMPI_what_globals "SMPI documentation". SimGrid provides two
+ways of automatically privatizing the globals, and this option allows
+to choose between them.
+
+  - <b>no</b> (default when not using smpirun): Do not automatically privatize variables.
+    Pass \c -no-privatize to smpirun to disable this feature.
+  - <b>dlopen</b> or <b>yes</b> (default when using smpirun): Link multiple times against the binary.
+  - <b>mmap</b> (slower, but maybe somewhat more stable):
+    Runtime automatic switching of the data segments.
 
 \warning
   This configuration option cannot be set in your platform file. You can only
@@ -1272,10 +1244,10 @@ is registered and will clean up some variables and terminate/cleanup the tracing
 
 TODO: Add when this should be used.
 
-\subsection options_generic_path XML file inclusion path
+\subsection options_generic_path Profile files' search path
 
 It is possible to specify a list of directories to search into for the
-\<include\> tag in XML files by using the \b path configuration
+trace files (see @ref pf_trace) by using the \b path configuration
 item. To add several directory to the path, set the configuration
 item several times, as in \verbatim
 --cfg=path:toto --cfg=path:tutu
@@ -1292,7 +1264,7 @@ when \b verbose-exit is set to 0 (it is to 1 by default).
 \subsection options_exception_cutpath Truncate local path from exception backtrace
 
 \verbatim
---cfg=exceptions/cutpath:1
+--cfg=exception/cutpath:1
 \endverbatim
 
 This configuration option is used to remove the path from the