-/*! \page options Simgrid options and configurations
+/*! \page options Step 2: Configure SimGrid
A number of options can be given at runtime to change the default
SimGrid behavior. For a complete list of all configuration options
here may not be available in your simulators, depending on the
@ref install_src_config "compile-time options" that you used.
+\tableofcontents
+
\section options_using Passing configuration options to the simulators
There is several way to pass configuration options to the simulators.
- \b cpu/model: specify the used CPU model
- \b host/model: specify the used host model
- \b storage/model: specify the used storage model (there is currently only one such model - this option is hence only useful for future releases)
- - \b vm_workstation/model: specify the workstation model for virtual machines (there is currently only one such model - this option is hence only useful for future releases)
+ - \b vm/model: specify the model for virtual machines (there is currently only one such model - this option is hence only useful for future releases)
%As of writing, the following network models are accepted. Over
the time new models can be added, and some experimental models can be
- \b LV08 (default one): Realistic network analytic model
(slow-start modeled by multiplying latency by 10.4, bandwidth by
.92; bottleneck sharing uses a payload of S=8775 for evaluating RTT)
- - \b Constant: Simplistic network model where all communication
+ - \anchor options_model_select_network_constant \b Constant: Simplistic network model where all communication
take a constant time (one second). This model provides the lowest
realism, but is (marginally) faster.
- \b SMPI: Realistic network model specifically tailored for HPC
simulators as network models (see \ref pls). In that case, you have
two extra models, described below, and some \ref options_pls "specific
additional configuration flags".
- - \b GTNets: Network pseudo-model using the GTNets simulator instead
- of an analytic model
- \b NS3: Network pseudo-model using the NS3 tcp model instead of an
analytic model
\subsubsection options_model_network_crosstraffic Simulating cross-traffic
-%As of SimGrid v3.7, cross-traffic effects can be taken into account in
+As of SimGrid v3.7, cross-traffic effects can be taken into account in
analytical simulations. It means that ongoing and incoming
communication flows are treated independently. In addition, the LV08
model adds 0.05 of usage on the opposite direction for each new
For that to work, your platform must have two links for each
pair of interconnected hosts. An example of usable platform is
-available in <tt>examples/msg/gtnets/crosstraffic-p.xml</tt>.
+available in <tt>examples/platforms/crosstraffic.xml</tt>.
This is activated through the \b network/crosstraffic item, that
can be set to 0 (disable this feature) or 1 (enable it).
\subsubsection options_model_network_coord Coordinated-based network models
When you want to use network coordinates, as it happens when you use
-an \<AS\> in your platform file with \c Vivaldi as a routing, you must
+an \<AS\> in your platform file with \c Vivaldi as a routing (see also
+Section \ref pf_routing_model_vivaldi "Vivaldi Routing Model"), you must
set the \b network/coordinates to \c yes so that all mandatory
initialization are done in the simulator.
in NS3. The only valid values (enforced on the SimGrid side) are
'NewReno' or 'Reno' or 'Tahoe'.
-When using GTNeTS, two items exist:
- - \b gtnets/jitter, that is a double value to oscillate
- the link latency, uniformly in random interval
- [-latency*gtnets_jitter,latency*gtnets_jitter). It defaults to 0.
- - \b gtnets/jitter_seed, the positive seed used to reproduce jitted
- results. Its value must be in [1,1e8] and defaults to 10.
-
\section options_modelchecking Configuring the Model-Checking
-To enable the experimental SimGrid model-checking support the program should
-be executed with the command line argument
+To enable the SimGrid model-checking support the program should
+be executed using the simgrid-mc wrapper:
\verbatim
---cfg=model-check:1
+simgrid-mc ./my_program
\endverbatim
Safety properties are expressed as assertions using the function
--cfg=model-check/property:<filename>
\endverbatim
-Of course, specifying a liveness property enables the model-checking
-so that you don't have to give <tt>--cfg=model-check:1</tt> in
-addition.
-
\subsection options_modelchecking_steps Going for stateful verification
By default, the system is backtracked to its initial state to explore
--cfg=model-check/checkpoint:1
\endverbatim
-Of course, specifying this option enables the model-checking so that
-you don't have to give <tt>--cfg=model-check:1</tt> in addition.
-
\subsection options_modelchecking_reduction Specifying the kind of reduction
The main issue when using the model-checking is the state space
* dpor: Apply Dynamic Partial Ordering Reduction. Only valid if you
verify local safety properties.
-Of course, specifying a reduction technique enables the model-checking
-so that you don't have to give <tt>--cfg=model-check:1</tt> in
-addition.
-
\subsection options_modelchecking_visited model-check/visited, Cycle detection
In order to detect cycles, the model-checker needs to check if a new explored
To disable the benchmarking/simulation of computation in the simulated
application, the variable \b
-smpi/simulation_computation should be set to no
+smpi/simulate_computation should be set to no
\subsection options_model_smpi_bw_factor smpi/bw_factor: Bandwidth factors
- \c exception/cutpath: \ref options_exception_cutpath
-- \c gtnets/jitter: \ref options_pls
-- \c gtnets/jitter_seed: \ref options_pls
-
- \c host/model: \ref options_model_select
- \c maxmin/precision: \ref options_model_precision
- \c smpi/privatize_global_variables: \ref options_smpi_global
- \c smpi/running_power: \ref options_smpi_bench
- \c smpi/send_is_detached_thresh: \ref options_model_smpi_detached
-- \c smpi/simulation_computation: \ref options_smpi_bench
+- \c smpi/simulate_computation: \ref options_smpi_bench
- \c smpi/test: \ref options_model_smpi_test
- \c smpi/use_shared_malloc: \ref options_model_smpi_use_shared_malloc
- \c smpi/wtime: \ref options_model_smpi_wtime
- \c storage/model: \ref options_storage_model
- \c verbose-exit: \ref options_generic_exit
-- \c vm_workstation/model: \ref options_vm_workstation_model
+- \c vm/model: \ref options_vm_model
\subsection options_index_smpi_coll Index of SMPI collective algorithms options