/usr/share/doc/simgrid/html/pls.html is in simgrid-doc 3.10-7.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SimGrid: Packet level simulation</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SimGrid
 <span id="projectnumber">3.10</span>
</div>
<div id="projectbrief">Versatile Simulation of Distributed Systems</div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="http://simgrid.gforge.inria.fr/"><span>Home page</span></a></li>
<li><a href="http://simgrid.gforge.inria.fr/documentation.html"><span>Online documentation</span></a></li>
<li><a href="https://gforge.inria.fr/projects/simgrid"><span>Dev's Corner</span></a></li>
<li> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('pls.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Packet level simulation </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>It is possible to use a packet-level network simulator instead of the default flow-based simulation. You may want to use such an approach if you have doubts about the validity of the default model or if you want to perform some validation experiments. At the moment, we support the GTNetS simulator and since version 3.6.2, ns-3.</p>
<h1><a class="anchor" id="pls_simgrid_configuration_gtnets"></a>
Using GTNetS</h1>
<p><em> To enable GTNetS model inside SimGrid it is needed to patch the GTNetS simulator source code and build/install it from scratch </em></p>
<ul>
<li><b>Download and enter the recent downloaded GTNetS directory</b></li>
</ul>
<pre class="fragment">svn checkout svn://scm.gforge.inria.fr/svn/simgrid/contrib/trunk/GTNetS/
cd GTNetS
</pre><ul>
<li><b>Use the following commands to unzip and patch GTNetS package to work within SimGrid.</b></li>
</ul>
<pre class="fragment">unzip gtnets-current.zip
tar zxvf gtnets-current-patch.tgz
cd gtnets-current
cat ../00*.patch | patch -p1
</pre><ul>
<li><b>OPTIONALLY</b> you can use a patch for itanium 64bit processor family.</li>
</ul>
<pre class="fragment">cat ../AMD64-FATAL-Removed-DUL_SIZE_DIFF-Added-fPIC-compillin.patch | patch -p1
</pre><ul>
<li><p class="startli"><b>Compile GTNetS</b></p>
<p class="startli">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.</p>
</li>
</ul>
<pre class="fragment">ln -sf Makefile.linux Makefile
sed -i 's/-fPIC/-fPIC -fpermissive/g' Makefile
make depend
make debug
</pre><ul>
<li><b>NOTE</b> A lot of warnings are expected but the application should compile just fine. If the makefile insists in compiling some QT libraries please try a make clean before asking for help.</li>
</ul>
<ul>
<li><b>To compile optimized version</b></li>
</ul>
<pre class="fragment">make opt
</pre><ul>
<li><b>Installing GTNetS</b></li>
</ul>
<p>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.</p>
<pre class="fragment">ln -sf /<absolute_path>/gtnets_current/libgtsim-debug.so /<userhome>/usr/lib/libgtnets.so
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}/<userhome>/usr/lib/
mkdir /<userhome>/usr/include/gtnets
cp -fr SRC/*.h /<userhome>/usr/include/gtnets
</pre><ul>
<li><b>Enable GTNetS support in SimGrid</b></li>
</ul>
<p>In order to enable gtnets with simgrid you have to give where is gtnets. (path to <gtnets_path>/lib and <gtnets_path>/include)</p>
<pre class="fragment">cmake . -Denable_gtnets=ON -Dgtnets_path=/<userhome>/usr
</pre><ul>
<li><b>Once you have followed all the instructions for compiling and installing successfully you can activate this feature at runntime with the following options:</b></li>
</ul>
<pre class="fragment">cd simgrid
make
ctest -R gtnets
</pre><ul>
<li><b>Or try the GTNetS model dogbone example with</b></li>
</ul>
<pre class="fragment">gtnets/gtnets gtnets/onelink-p.xml gtnets/onelink-d.xml --cfg=network_model:GTNets
</pre><p>A long version of this <a href="http://gforge.inria.fr/docman/view.php/12/6283/GTNetS HowTo.html">HowTo</a> it is available</p>
<p>More about GTNetS simulator at <a href="http://www.ece.gatech.edu/research/labs/MANIACS/GTNetS/index.html">GTNetS Website</a></p>
<ul>
<li><b>DISCLAIMER</b> The patches provided by us worked successfully with GTNetS found <a href="http://www.ece.gatech.edu/research/labs/MANIACS/GTNetS/software/gtnets-current.zip">here</a>, dated from 12th June 2008. Due to the discontinuing development of GTNetS it is impossible to precise a version number. We STRONGLY recommend you to download and install the GTNetS version found in SimGrid repository as explained above.</li>
</ul>
<h1><a class="anchor" id="pls_simgrid_configuration_ns3"></a>
Using NS3</h1>
<p>It is possible to use discrete-event network simulator <a href="http://www.nsnam.org/">(ns-3)</a> for Internet systems instead of the default one.</p>
<p>A ns-3 platform is created according to the platform file you provide in SimGrid format. However from this configuration, we had to set up some extra parameters :</p>
<ul>
<li>
<p class="startli">First, whenever possible, we let default ns3 values and we don't changed it ; in case you have doubts on values for those parameters (TCP parameters for example), blame ns-3... </p>
<p class="endli"></p>
</li>
<li>
<p class="startli">Second, routing used inside ns-3 is a global and static one, relying on a shortest path algorithm. We did so by using ns3::Ipv4GlobalRoutingHelper::PopulateRoutingTables. </p>
<p class="endli"></p>
</li>
<li>
<p class="startli">Third, we also choose to restrict the way your platform is built : end hosts cannot have more than one interface card (so, only one <link> in your SimGrid platform should link an end host to the platform ; if not, your end host will be considered as a router. </p>
<p class="endli"></p>
</li>
</ul>
<p><em> To use ns3 model inside SimGrid you have to install at least the version 3.10 of ns3 simulator. </em></p>
<ul>
<li><b>Download and enter the lateast release (here the 3.12.1)</b></li>
</ul>
<pre class="fragment">http://www.nsnam.org/release/ns-allinone-3.12.1.tar.bz2
tar -xf ns-allinone-3.12.1.tar.bz2
cd ns-allinone-3.12.1/ns-3.12.1/
</pre><ul>
<li><b>Configure, make and install ns3</b></li>
</ul>
<pre class="fragment">./waf configure --prefix="ns-3_install_directory"
./waf
./waf install
</pre><p>After install ns-3 you should have directories into your "ns-3_install_directory": </p>
<ul>
<li>include/ns3/ </li>
<li>lib/ </li>
<li>bin/ (with 3.12)</li>
</ul>
<p>You also need to add to the LD_LIBRARY_PATH : "ns-3_install_directory/lib".</p>
<ul>
<li><b>Enable ns-3 support on SimGrid</b></li>
</ul>
<p>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)</p>
<pre class="fragment">cmake . -Denable_ns3=ON -Dns3_path=<ns3_path>
</pre><p>With the output of the configuration you can see if ns-3 is detected by included the directory to flags.</p>
<pre class="fragment">Configuration of package `simgrid' on arch (=4):
BUILDNAME : UNIX
SITE : Linux_2.6.38-11-generic_x86_64
Release : simgrid-3.6.1
Compiler: c++ : /usr/bin/c++
version: 4.6.1
Compiler: c : /usr/bin/gcc
version: 4.6.1
CFlags : -O3 -finline-functions -funroll-loops -fno-strict-aliasing -L/usr/lib/x86_64-linux-gnu -I/usr/include
-L/home/navarrop/Install/ns3-3.10/lib -I/home/navarrop/Install/ns3-3.10/include -g3 -D_NS3_3_10
CPPFlags: -I/home/navarrop/Install/ns3-3.10/include -L/home/navarrop/Install/ns3-3.10/lib
Compile Gtnets : 0
Compile NS-3 : 1 ---------------------> Be sure this option is "1" otherwise ns-3 is not activated
Gtnets path :
NS-3 path : /home/navarrop/Install/ns3-3.10
Compile Lua :
Compile Smpi : OFF
Compile Static : OFF
Maintainer mode: OFF
Supernovae mode: OFF
Model checking : OFF
Tracing mode : OFF
Jedule mode : OFF
Latency bound : OFF
Graphviz mode :
Simgrid dependencies: -lm -lpthread -lns3 -lrt
Smpi dependencies :
INSTALL_PREFIX: /usr/local
-- Configuring done
-- Generating done
-- Build files have been written to: /home/navarrop/workspace/simgrid/build
</pre><p>Now you can compile SimGrid </p>
<pre class="fragment">make
</pre><p>Then you can see if ns-3 is well activated by testing </p>
<pre class="fragment">ctest -R ns3
</pre><p>You should see </p>
<pre class="fragment"> Start 182: msg-ns3-thread
1/3 Test #182: msg-ns3-thread ................... Passed 0.35 sec
Start 183: msg-ns3-ucontext
2/3 Test #183: msg-ns3-ucontext ................. Passed 0.22 sec
Start 184: msg-ns3-raw
3/3 Test #184: msg-ns3-raw ...................... Passed 0.23 sec
</pre><p>More about ns-3 simulator <a href="http://www.nsnam.org/">(Official website)</a> </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Sun Nov 17 2013 21:34:46 for SimGrid by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
</ul>
</div>
</body>
</html>
|