SimGrid 3.6.2
Scalable simulation of distributed systems
Simgrid options and configurations

Changing SimGrid's behavior

A number of options can be given at runtime to change the default SimGrid behavior. In particular, you can change the default cpu and network models...

Using Fullduplex

Experimental fullduplex support is now available on the svn branch. In order to fullduple to work your platform must have two links for each pair of interconnected hosts, see an example here:

	simgrid_svn_sources/exemples/msg/gtnets/fullduplex-p.xml

Using fullduplex support ongoing and incoming communication flows are treated independently for most models. The exception is the LV08 model which adds 0.05 of usage on the opposite direction for each new created flow. This can be useful to simulate some important TCP phenomena such as ack compression.

Running a fullduplex example:

	cd simgrid_svn_sources/exemples/msg/gtnets
	./gtnets fullduplex-p.xml fullduplex-d.xml --cfg=fullduplex:1

Using alternative flow models

The default simgrid network model uses a max-min based approach as explained in the research report A Network Model for Simulation of Grid Application. Other models have been proposed and implemented since then (see for example Accuracy Study and Improvement of Network Simulation in the SimGrid Framework) and can be activated at runtime. For example:

./mycode platform.xml deployment.xml --cfg=workstation/model:compound --cfg=network/model:LV08 -cfg=cpu/model:Cas01

Possible models for the network are currently "Constant", "CM02", "LegrandVelho", "GTNets", Reno", "Reno2", "Vegas". Others will probably be added in the future and many of the previous ones are experimental and are likely to disappear without notice... To know the list of the currently implemented models, you should use the --help-models command line option.

./masterslave_forwarder ../small_platform.xml deployment_masterslave.xml  --help-models
Long description of the workstation models accepted by this simulator:
  CLM03: Default workstation model, using LV08 and CM02 as network and CPU
  compound: Workstation model allowing you to use other network and CPU models
  ptask_L07: Workstation model with better parallel task modeling
Long description of the CPU models accepted by this simulator:
  Cas01_fullupdate: CPU classical model time=size/power
  Cas01: Variation of Cas01_fullupdate with partial invalidation optimization of lmm system. Should produce the same values, only faster
  CpuTI: Variation of Cas01 with also trace integration. Should produce the same values, only faster if you use availability traces
Long description of the network models accepted by this simulator:
  Constant: Simplistic network model where all communication take a constant time (one second)
  CM02: Realistic network model with lmm_solve and no correction factors
  LV08: Realistic network model with lmm_solve and these correction factors: latency*=10.4, bandwidth*=.92, S=8775
  Reno: Model using lagrange_solve instead of lmm_solve (experts only)
  Reno2: Model using lagrange_solve instead of lmm_solve (experts only)
  Vegas: Model using lagrange_solve instead of lmm_solve (experts only)

Model-Checking

How to use it

To enable the experimental SimGrid model-checking support the program should be executed with the command line argument

--cfg=model-check:1 

Properties are expressed as assertions using the function

void MC_assert(int prop);


Back to the main Simgrid Documentation page The version of Simgrid documented here is v3.6.2.
Documentation of other versions can be found in their respective archive files (directory doc/html).
Generated for SimGridAPI by doxygen