Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
start to clean up the bib file. Too many badly formatted entries for
[simgrid.git] / doc / FAQ.doc
index aecaa28..a95cada 100644 (file)
@@ -135,25 +135,25 @@ SET --> CC        TO --> C:\MicrosoftVisualStudio10\VC\bin\cl
 \verbatim
 "cmake -D[name]=[value] ... ./"
  
-[name]                 enable_gtnets                   [value] ON/OFF or TRUE/FALSE or 1/0
-               enable_java                             ON/OFF or TRUE/FALSE or 1/0
-               enable_lua                              ON/OFF or TRUE/FALSE or 1/0
-               enable_ruby                             ON/OFF or TRUE/FALSE or 1/0
-               enable_compile_optimizations            ON/OFF or TRUE/FALSE or 1/0
-               enable_compile_warnings                 ON/OFF or TRUE/FALSE or 1/0
-               enable_smpi                             ON/OFF or TRUE/FALSE or 1/0
-               enable_maintainer_mode                  ON/OFF or TRUE/FALSE or 1/0
-               enable_supernovae                       ON/OFF or TRUE/FALSE or 1/0
-               enable_tracing                          ON/OFF or TRUE/FALSE or 1/0
-               enable_coverage                         ON/OFF or TRUE/FALSE or 1/0
-               enable_memcheck                         ON/OFF or TRUE/FALSE or 1/0 
-               enable_model-checking                   ON/OFF or TRUE/FALSE or 1/0
-               enable_doc                              ON/OFF or TRUE/FALSE or 1/0
-
-               gtnets_path                             <path_to_gtnets_directory>
-               prefix                                  <path_to_install_directory>
-               BIBTEX2HTML                             <path_to_bibtex2html>
-               with_context                            auto/ucontext/pthread/window     
+[name]         enable_gtnets           [value] ON/OFF or TRUE/FALSE or 1/0
+       enable_java                     ON/OFF or TRUE/FALSE or 1/0
+       enable_lua                      ON/OFF or TRUE/FALSE or 1/0
+       enable_ruby                     ON/OFF or TRUE/FALSE or 1/0
+       enable_compile_optimizations    ON/OFF or TRUE/FALSE or 1/0
+       enable_compile_warnings         ON/OFF or TRUE/FALSE or 1/0
+       enable_smpi                     ON/OFF or TRUE/FALSE or 1/0
+       enable_maintainer_mode          ON/OFF or TRUE/FALSE or 1/0
+       enable_supernovae               ON/OFF or TRUE/FALSE or 1/0
+       enable_tracing                  ON/OFF or TRUE/FALSE or 1/0
+       enable_coverage                 ON/OFF or TRUE/FALSE or 1/0
+       enable_memcheck                 ON/OFF or TRUE/FALSE or 1/0 
+       enable_model-checking           ON/OFF or TRUE/FALSE or 1/0
+       enable_doc                      ON/OFF or TRUE/FALSE or 1/0
+       gtnets_path                     <path_to_gtnets_directory>
+       prefix                          <path_to_install_directory>
+       BIBTEX2HTML                     <path_to_bibtex2html>
+       with_context                    auto/ucontext/pthread/window
+       pipol_user                      <pipol_username>         
 \endverbatim
                                                                                                                                                           
 \subsubsection faq_cmakeoption2 Options explaination
@@ -193,6 +193,8 @@ SET --> CC  TO --> C:\MicrosoftVisualStudio10\VC\bin\cl
   \li BIBTEX2HTML : Path where is installed bibtex2html.
 
   \li with context : specify which context the user wants to use.
+  
+  \li pipol_user : specify your pipol username if you want to use the pipol-remote command.
 
 \subsubsection faq_cmakeoption3 Initialisation
 
@@ -218,6 +220,7 @@ gtnets_path                 null
 prefix                         null
 BIBTEX2HTML                    null
 with_context                   auto
+pipol_user                     null
 \endverbatim
 
 \subsubsection faq_cmakeoption4 Option's cache and how to reset?
@@ -305,7 +308,7 @@ ctest -D NightlyMemoryCheck
 
 If you want to test before make a commit you can simply make "ctest -D Experimental" and then you can visualize results submitted into Cdash. <a href="http://cdash.inria.fr/CDash/index.php?project=Simgrid">(Go to Cdash site)</a>.
 
-\subsubsection faq_cmakecompilation4 Examples for different mode.
+\subsubsection faq_cmakecompilation5 Examples for different mode.
 
 \li Mode maintainer
 
@@ -523,6 +526,90 @@ with this function : ADD_TEST(<name> <bin> <ARGS>)
 add_test(test-simdag-1 ${PROJECT_DIRECTORY}/testsuite/simdag/sd_test --cfg=path:${PROJECT_DIRECTORY}/testsuite/simdag small_platform_variable.xml)
 \endverbatim
 
+\subsection faq_PIPOL Pipol-remote
+
+Now we offer the possibility to test your local sources on pipol platforms before a commit. Of course you have to be user of pipol <a href="https://pipol.inria.fr/users/">(Account request)</a> cause you need to give your pipol_username to cmake. Here is a list of available systems :
+\verbatim
+    amd64_kvm-linux-debian-lenny
+    amd64_kvm-linux-debian-testing
+    amd64_kvm-windows-7
+    amd64-linux-centos-5.dd.gz
+    amd64-linux-debian-etch.dd.gz
+    amd64-linux-debian-lenny.dd.gz
+    amd64-linux-debian-testing.dd.gz
+    amd64-linux-fedora-core10.dd.gz
+    amd64-linux-fedora-core11.dd.gz
+    amd64-linux-fedora-core12.dd.gz
+    amd64-linux-fedora-core13.dd.gz
+    amd64-linux-fedora-core7.dd.gz
+    amd64-linux-fedora-core8.dd.gz
+    amd64-linux-fedora-core9.dd.gz
+    amd64-linux-mandriva-2007_springs_powerpack.dd.gz
+    amd64-linux-mandriva-2009_powerpack.dd.gz
+    amd64-linux-opensuse-11.dd.gz
+    amd64-linux-redhatEL-5.0.dd.gz
+    amd64-linux-suse-LES10.dd.gz
+    amd64-linux-ubuntu-feisty.dd.gz
+    amd64-linux-ubuntu-hardy.dd.gz
+    amd64-linux-ubuntu-intrepid.dd.gz
+    amd64-linux-ubuntu-jaunty.dd.gz
+    amd64-linux-ubuntu-karmic.dd.gz
+    amd64-linux-ubuntu-lucid.dd.gz
+    amd64-unix-freebsd-7.dd.gz
+    amd64-windows-server-2003-64bits.dd.gz
+    amd64-windows-server-2008-64bits.dd.gz
+    i386_kvm-linux-debian-lenny
+    i386_kvm-linux-debian-testing
+    i386_kvm-linux-fedora-core13
+    i386_kvm-windows-xp-pro-sp3
+    i386-linux-centos-5.dd.gz
+    i386-linux-debian-etch.dd.gz
+    i386-linux-debian-lenny.dd.gz
+    i386-linux-debian-testing.dd.gz
+    i386-linux-fedora-core10.dd.gz
+    i386-linux-fedora-core11.dd.gz
+    i386-linux-fedora-core12.dd.gz
+    i386-linux-fedora-core13.dd.gz
+    i386-linux-fedora-core7.dd.gz
+    i386-linux-fedora-core8.dd.gz
+    i386-linux-fedora-core9.dd.gz
+    i386-linux-mandriva-2007_springs_powerpack.dd.gz
+    i386-linux-mandriva-2009_powerpack.dd.gz
+    i386-linux-opensuse-11.dd.gz
+    i386-linux-redhatEL-5.0.dd.gz
+    i386-linux-suse-LES10.dd.gz
+    i386-linux-ubuntu-feisty.dd.gz
+    i386-linux-ubuntu-hardy.dd.gz
+    i386-linux-ubuntu-intrepid.dd.gz
+    i386-linux-ubuntu-jaunty.dd.gz
+    i386-linux-ubuntu-karmic.dd.gz
+    i386-linux-ubuntu-lucid.dd.gz
+    i386_mac-mac-osx-server-leopard.dd.gz
+    i386-unix-freebsd-7.dd.gz
+    i386-unix-opensolaris-10.dd.gz
+    i386-unix-opensolaris-11.dd.gz
+    i386-unix-solaris-10.dd.gz
+    ia64-linux-debian-lenny.dd
+    ia64-linux-fedora-core9.dd
+    ia64-linux-redhatEL-5.0.dd
+    x86_64_mac-mac-osx-server-snow-leopard.dd.gz
+    x86_mac-mac-osx-server-snow-leopard.dd.gz
+\endverbatim
+
+Two kind of uses are possible : 
+\verbatim
+This command copy your source and execute a configure then a build and finish with tests.
+       bob@caraja:~/Developments/simgrid/tmp_build$ make <name_of_image> 
+
+This command copy your source and execute a \"ctest -D Experimental\" and submit the result to cdash.
+       bob@caraja:~/Developments/simgrid/tmp_build$ make <name_of_image>_experimental 
+\endverbatim   
+All commands are resumed with :
+\verbatim
+bob@caraja:~/Developments/simgrid/tmp_build$ make pipol_experimental_list_images
+bob@caraja:~/Developments/simgrid/tmp_build$ make pipol_test_list_images
+\endverbatim
+
 \subsection faq_cmakeExplain Explaination of sources files for cmake
 
 \li CMakeLists.txt
@@ -1476,6 +1563,29 @@ 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...
 
+\subsubsection faq_simgrid_configuration_fullduplex 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:
+\verbatim
+       simgrid_svn_sources/exemples/msg/gtnets/fullduplex-p.xml
+\endverbatim
+
+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:
+\verbatim
+       cd simgrid_svn_sources/exemples/msg/gtnets
+       ./gtnets fullduplex-p.xml fullduplex-d.xml --cfg=fullduplex:1
+\endverbatim
+
+
+
+
+
 \subsubsection faq_simgrid_configuration_gtnets Using GTNetS
 
 It is possible to use a packet-level network simulator
@@ -1551,8 +1661,14 @@ and build/install it from scratch
 
 
  - <b>Enable GTNetS support in SimGrid</b>
+In order to enable gtnets with simgrid you have to give where is gtnets. (path to <gtnets_path>/lib and <gtnets_path>/include)
 
    \verbatim
+   Since v3.4 (with cmake)
+   cmake . -Dgtnets_path=/<userhome>/usr
+   
+   Until v3.4 (with autotools)
    ./configure --with-gtnets=/<userhome>/usr
    \endverbatim
 
@@ -1561,6 +1677,12 @@ and build/install it from scratch
    runntime with the following options:</b>
 
    \verbatim
+   Since v3.4 (with cmake)
+   cd simgrid
+   make
+   ctest -R gtnets
+   
+   Until v3.4 (with autotools)
    cd simgrid/example/msg/
    make
    make check
@@ -1674,11 +1796,9 @@ $ make
 
 \subsubsubsection Mandatory Functions
 
-\li <b>\c TRACE_start (const char *filename)</b>: This is the first function to
-be called. It receives a single argument as parameter that contains the name of
-the file that will hold the trace in the end of the simulation. It returns 0 if
-everything was properly initialized, 1 otherwise. All trace functions called
-before TRACE_start do nothing.
+\li <b>\c TRACE_start ()</b>: This is the first function to
+be called. It returns 0 if everything was properly initialized, 1 otherwise. 
+All trace functions called before TRACE_start do nothing.
 
 \li <b>\c TRACE_category (const char *category)</b>: This function should be used
 to define a user category. The category can be used to differentiate the tasks
@@ -1715,6 +1835,27 @@ the value of this variable is always associated to the host. The host
 that will be used when these functions are called is the one returned by
 the function \c MSG_host_self().
 
+\subsubsection faq_tracing_options Tracing configuration Options
+
+These are the options accepted by the tracing system of SimGrid:
+
+\li <b>\c tracing/filename</b>: use this to specify the name of the trace file
+that will be created during the simulation. For example, after the binary
+of your simulator, you can pass as parameter this: 
+\verbatim
+--cfg=tracing/filename:mytracefile.trace
+\endverbatim
+in order to trace the behavior of the simulation in a file with the name
+mytracefile.trace.
+
+\li <b>\c tracing/platform</b>: use this to activate the tracing of the
+platform. For example, you can pass as parameter to your simulator:
+\verbatim
+--cfg=tracing/platform:1
+\endverbatim
+to trace the platform utilization by the categories you declared in your
+simulator. By default, this options is set to 0.
+
 \subsubsection faq_tracing_example Example of Instrumentation
 
 A simplified example using the tracing mandatory functions.
@@ -1722,12 +1863,13 @@ A simplified example using the tracing mandatory functions.
 \verbatim
 int main (int argc, char **argv)
 {
-  TRACE_start ("traced_simulation.trace");
+  MSG_global_init (&argc, &argv);
+
+  //note that TRACE_start must be called after MSG_global_init
+  TRACE_start ();
   TRACE_category ("request");
   TRACE_category ("computation");
   TRACE_category ("finalize");
-  
-  MSG_global_init (&argc, &argv);
 
   //(... after deployment ...)
 
@@ -2162,21 +2304,21 @@ so  you can exchange any kind of data ( tables, matrix, strings … ) between pr
 
 \li set Hosts
 \verbatim
-  simgrid.Host.new("Tremblay",98095000);
-  simgrid.Host.new("Jupiter",76296000);
-  simgrid.Host.new("Fafard",76296000);
-  simgrid.Host.new("Ginette",48492000);
-  simgrid.Host.new("Bourassa",48492000);
+  simgrid.Host.new{id="Tremblay",power=98095000};
+  simgrid.Host.new{id="Jupiter",power=76296000};
+  simgrid.Host.new{id="Fafard",power=76296000};
+  simgrid.Host.new{id="Ginette",power=48492000};
+  simgrid.Host.new{id="Bourassa",power=48492000};
 \endverbatim
-  we use simgrid.Host.new(host_id,power) to instanciate our hosts.
+  we use simgrid.Host.new{id=id_host,power=power_host} to instanciate our hosts.
 
 \li set Links
 \verbatim
   for i=0,11 do
-    simgrid.Link.new(i,252750+ i*768,0.000270544+i*0.087);    --  some crazy values ;)
+    simgrid.Link.new{id=i,bandwidth=252750+ i*768,latency=0.000270544+i*0.087};    --  some crazy values ;)
   end
 \endverbatim
-  we used simgrid.Link.new(link_id,bandwidth,latency) with a simple for loop to create all links we need  ( much easier than XML hein ? )
+  we used simgrid.Link.new{id=link_id,bandwidth=bw,latency=lat} with a simple for loop to create all links we need (much easier than XML hein ?)
 
 \li set Routes
 \verbatim
@@ -2733,3 +2875,4 @@ Nowadays, functions get automatically exported, so we don't need to load our
 header files with tons of __declspec(dllexport) cruft. We only need to do so
 for data, but there is no public data in SimGrid so we are good.
 
+