Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[trace, doc] two scenarios to help users decide which tracing options to use
[simgrid.git] / doc / pls.doc
1 /*! \page pls Packet level simulation
2
3 \htmlinclude .pls.doc.toc
4
5 \section pls_simgrid_configuration_gtnets Using GTNetS
6
7 It is possible to use a packet-level network simulator
8 instead of the default flow-based simulation. You may want to use such
9 an approach if you have doubts about the validity of the default model
10 or if you want to perform some validation experiments. At the moment,
11 we support the GTNetS simulator (it is still rather experimental
12 though, so leave us a message if you play with it). 
13
14 <i>
15 To enable GTNetS model inside SimGrid it is needed to patch the GTNetS simulator source code 
16 and build/install it from scratch
17 </i>
18
19  - <b>Download and enter the recent downloaded GTNetS directory</b>
20
21 \verbatim
22 svn checkout svn://scm.gforge.inria.fr/svn/simgrid/contrib/trunk/GTNetS/
23 cd GTNetS
24 \endverbatim
25
26
27  - <b>Use the following commands to unzip and patch GTNetS package to work within SimGrid.</b>
28
29 \verbatim
30 unzip gtnets-current.zip
31 tar zxvf gtnets-current-patch.tgz 
32 cd gtnets-current
33 cat ../00*.patch | patch -p1
34 \endverbatim
35
36   - <b>OPTIONALLY</b> you can use a patch for itanium 64bit processor family.
37
38 \verbatim
39 cat ../AMD64-FATAL-Removed-DUL_SIZE_DIFF-Added-fPIC-compillin.patch | patch -p1
40 \endverbatim
41
42  - <b>Compile GTNetS</b>
43
44    Due to portability issues it is possible that GTNetS does not compile in your architecture. The patches furnished in SimGrid SVN repository are intended for use in Linux architecture only. Unfortunately, we do not have the time, the money, neither the manpower to guarantee GTNetS portability. We advice you to use one of GTNetS communication channel to get more help in compiling GTNetS. 
45
46
47 \verbatim
48 ln -sf Makefile.linux Makefile
49 make depend
50 make debug
51 \endverbatim
52
53
54  - <b>NOTE</b> A lot of warnings are expected but the application should compile
55  just fine. If the makefile insists in compiling some QT libraries
56  please try a make clean before asking for help.
57
58
59  - <b>To compile optimized version</b>
60
61 \verbatim
62 make opt
63 \endverbatim
64
65
66  - <b>Installing GTNetS</b>
67
68  It is important to put the full path of your libgtsim-xxxx.so file when creating the symbolic link. Replace < userhome > by some path you have write access to.
69
70 \verbatim
71 ln -sf /<absolute_path>/gtnets_current/libgtsim-debug.so /<userhome>/usr/lib/libgtnets.so
72 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/<userhome>/usr/lib/libgtnets.so
73 mkdir /<userhome>/usr/include/gtnets
74 cp -fr SRC/*.h /<userhome>/usr/include/gtnets
75 \endverbatim
76
77
78  - <b>Enable GTNetS support in SimGrid</b>
79  
80 In order to enable gtnets with simgrid you have to give where is gtnets. (path to \<gtnets_path\>/lib and \<gtnets_path\>/include)
81
82 \verbatim
83 cmake . -Denable_gtnets=ON -Dgtnets_path=/<userhome>/usr
84 \endverbatim
85
86  - <b>Once you have followed all the instructions for compiling and
87    installing successfully you can activate this feature at 
88    runntime with the following options:</b>
89
90 \verbatim
91 cd simgrid
92 make
93 ctest -R gtnets
94 \endverbatim
95
96
97  - <b>Or try the GTNetS model dogbone example with</b>
98
99 \verbatim
100 gtnets/gtnets gtnets/onelink-p.xml gtnets/onelink-d.xml --cfg=network_model:GTNets
101 \endverbatim
102
103  
104  A long version of this <a href="http://gforge.inria.fr/docman/view.php/12/6283/GTNetS HowTo.html">HowTo</a>  it is available 
105
106
107  More about GTNetS simulator at <a href="http://www.ece.gatech.edu/research/labs/MANIACS/GTNetS/index.html">GTNetS Website</a>
108
109
110  - <b>DISCLAIMER</b>
111  The patches provided by us worked successfully with GTNetS found 
112  <a href="http://www.ece.gatech.edu/research/labs/MANIACS/GTNetS/software/gtnets-current.zip">here</a>, 
113  dated from 12th June 2008. Due to the discontinuing development of
114  GTNetS it is impossible to precise a version number. We STRONGLY recommend you
115  to download and install the GTNetS version found in SimGrid repository as explained above.
116
117 \section pls_simgrid_configuration_ns3 Using NS3
118
119 It is possible to use discrete-event network simulator <a href="http://www.nsnam.org/">(ns-3)</a> for Internet systems
120 instead of the default one. 
121
122 <i>
123 To use ns3 model inside SimGrid you have to install at least the version 3.10 of ns3 simulator.
124 </i>
125
126 - <b>Download and enter the lateast release (here the 3.12.1)</b>
127
128 \verbatim
129 http://www.nsnam.org/release/ns-allinone-3.12.1.tar.bz2
130 tar -xf ns-allinone-3.12.1.tar.bz2
131 cd ns-allinone-3.12.1/ns-3.12.1/
132 \endverbatim
133
134 - <b>Configure, make and install ns3</b>
135
136 \verbatim
137 ./waf configure --prefix="ns-3_install_directory"
138 ./waf
139 ./waf install
140 \endverbatim
141
142 After install ns-3 you should have directories into your "ns-3_install_directory":
143         \li include/ns3/ 
144         \li lib/ 
145         \li bin/ (with 3.12)
146         
147 You also need to add to the LD_LIBRARY_PATH : "ns-3_install_directory/lib".
148
149 - <b>Enable ns-3 support on SimGrid</b>
150
151 In order to enable ns-3 with simgrid you have to give where is ns-3 to the simgrid configuration command. (path to \<ns3_path\>/lib and \<ns3_path\>/include)
152
153 \verbatim
154 cmake . -Denable_ns3=ON -Dns3_path=<ns3_path>
155 \endverbatim
156
157 With the output of the configuration you can see if ns-3 is detected by included the directory to flags.
158
159 \verbatim
160 Configuration of package `simgrid' on arch (=4):
161              BUILDNAME :        UNIX
162              SITE      :        Linux_2.6.38-11-generic_x86_64
163              Release   :        simgrid-3.6.1
164
165          Compiler: c++ :        /usr/bin/c++
166                 version:        4.6.1
167          Compiler: c   :        /usr/bin/gcc
168                 version:        4.6.1
169
170                CFlags  :        -O3 -finline-functions -funroll-loops -fno-strict-aliasing -L/usr/lib/x86_64-linux-gnu -I/usr/include 
171                                         -L/home/navarrop/Install/ns3-3.10/lib -I/home/navarrop/Install/ns3-3.10/include -g3  -D_NS3_3_10
172                CPPFlags:        -I/home/navarrop/Install/ns3-3.10/include -L/home/navarrop/Install/ns3-3.10/lib 
173
174         Compile Gtnets :        0
175         Compile NS-3   :        1 ---------------------> Be sure this option is "1" otherwise ns-3 is not activated
176         Gtnets path    :        
177         NS-3 path      :        /home/navarrop/Install/ns3-3.10
178         Compile Lua    :        
179         Compile Smpi   :        OFF
180         Compile Static :        OFF
181         Compile pcre   :        AUTO
182
183         Maintainer mode:        OFF
184         Supernovae mode:        OFF
185         Model checking :        OFF
186         Tracing mode   :        OFF
187         Jedule  mode   :        OFF
188         Latency bound  :        OFF
189         Graphviz mode  :        
190
191         Simgrid dependencies:   -lm -lpcre -lpthread -lns3 -lrt
192         Gras dependencies   :   -lm -lpthread -lrt
193         Smpi dependencies   :   
194
195         INSTALL_PREFIX:         /usr/local
196 -- Configuring done
197 -- Generating done
198 -- Build files have been written to: /home/navarrop/workspace/simgrid/build
199 \endverbatim
200
201 Now you can compile SimGrid
202 \verbatim
203 make
204 \endverbatim
205
206 Then you can see if ns-3 is well activated by testing
207 \verbatim
208 ctest -R ns3
209 \endverbatim
210
211 You should see
212 \verbatim
213     Start 182: msg-ns3-thread
214 1/3 Test #182: msg-ns3-thread ...................   Passed    0.35 sec
215     Start 183: msg-ns3-ucontext
216 2/3 Test #183: msg-ns3-ucontext .................   Passed    0.22 sec
217     Start 184: msg-ns3-raw
218 3/3 Test #184: msg-ns3-raw ......................   Passed    0.23 sec
219 \endverbatim
220
221 More about ns-3 simulator <a href="http://www.nsnam.org/">(Official website)</a>
222
223 */