X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ec7dabe166fb4e826fc700047698610337c6121d..ddfa83899468b616251b723a8210f7c9d254f827:/doc/FAQ.doc diff --git a/doc/FAQ.doc b/doc/FAQ.doc index aecaa28564..a95cadae00 100644 --- a/doc/FAQ.doc +++ b/doc/FAQ.doc @@ -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 - prefix - 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 + prefix + BIBTEX2HTML + with_context auto/ucontext/pthread/window + pipol_user \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. (Go to Cdash site). -\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( ) 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 (Account request) 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 + +This command copy your source and execute a \"ctest -D Experimental\" and submit the result to cdash. + bob@caraja:~/Developments/simgrid/tmp_build$ make _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 - Enable GTNetS support in SimGrid + +In order to enable gtnets with simgrid you have to give where is gtnets. (path to /lib and /include) \verbatim + Since v3.4 (with cmake) + cmake . -Dgtnets_path=//usr + + Until v3.4 (with autotools) ./configure --with-gtnets=//usr \endverbatim @@ -1561,6 +1677,12 @@ and build/install it from scratch runntime with the following options: \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 \c TRACE_start (const char *filename): 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 \c TRACE_start (): 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 \c TRACE_category (const char *category): 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 \c tracing/filename: 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 \c tracing/platform: 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. +