Ns2mesh80216 FAQ

From Cng1wiki

(Difference between revisions)
Jump to: navigation, search
(Frequently asked questions)
Line 65: Line 65:
     make clean
     make clean
     make
     make
 +
 +
''Q5: The compiler complains about undefined UINT_MAX, what can I do?''
 +
 +
A5: Just add the following line at the beginning of the file indicated by the compiler:
 +
 +
    #define UINT_MAX 4294967295U

Revision as of 11:21, 18 May 2009

<analytics uacct="UA-1580095-2" ></analytics>

Frequently asked questions

Q1: I had run the mesh.tcl and had produced out. After that I used the tool recover to open the file named out. But now it's still hard for me to read it. Can you give me more details about results?:

   % recover out
   
   savefile is good!
   set of run IDs: 1
   averaged measure = e2e_owd_a
   (0) = 0.0870442 [0.0870442, -1]
   (1) = 0.0467634 [0.0467634, -1]
   (2) = 0.0314626 [0.0314626, -1]

A1: The out file produced is a binary file containing the aggregated results of the measures collected during simulation, from time $opt(warm) to $opt(duration), in seconds. All samples collected from time 0 to $opt(warm) are instead discarded.

The out files produced (the filename can be changed by setting $opt(out) to a different value than the default out) can be concatenated, e.g. via the UNIX cat utility. The resulting output file can still be viewed in human-readable format via the utility recover. If more than one replications are concatenated, the set of the replication identifiers contained in the file are indicated in the second line (set of run IDs:) and 95% confidence intervals are computed and reported among square brackets [x, y], where x is the arithmetic mean of the samples of different replications and y is the half-confidence interval.

An arbitrary number of metrics can be defined, of two types: average and distribution. There is a basic set of metrics defined, which can be found in the file wimax/tcl/metrics.msh. If you want to know more about the difference between average and distribution metrics, you are encouraged to analyze the paper "An Integrated Framework for Enabling Effective Data Collection and Statistical Analysis with ns2" (C. Cicconetti, E. Mingozzi, G. Stea) and the documentation available here.

For each average metric, the output reports a first line that specifies the name of the metric (e2e_owd_a in the example above) and a list of the values for each metric identifier. In fact, it is possible to collect for each metric an arbitrary number of independent set of samples, each of which is identified by an integer. The mean of the samples for each identifier is produced as output by recover. For instance, in the example above, there are three identifiers: the mean of the samples of the first identifier, i.e. 0, is 0.0870442, while the mean of the samples of the second and third, i.e. 1 and 2, is 0.0467634 and 0.0314626, respectively. Since only one replication has been run, the confidence interval is not defined and is set to the invalid value -1.

The meaning of the identifier is local to the metric. In the example above the metric is the end-to-end average delay, and the identifier is set to the ns-2 flow ID of the agent generating packets. Samples are thus collected independently for each traffic flow in the network.

Other metrics, like wimsh_dsch_inter_time_rcv have one independent stream of samples for each node, where the metric identifier is the ns-2 node ID. To know exactly the meaning of each metric in wimax/tcl/metrics.msh, please refer to the inline comments where the metric is defined. A metric definition can be easily found via the UNIX grep command, e.g.:

   grep -r 'Stat::put ("wimsh_dsch_inter_time_rcv"' wimax/

The most common metrics to be employed to evaluate the performance, which are all measured per traffic flow, are:

  • e2e_owd_a: average end-to-end delay, in s
  • e2e_owpl: average end-to-end one-way packet loss, in packets/s
  • e2e_tpt: end-to-end throughput, in bytes/s

Q2: Where is the recover utility that you are talking about?

A2: You can download a package called 'stat-utilities' here. Assume you download the package into the /tmp/ directory by issuing the commands:

   cd /tmp
   wget http://info.iet.unipi.it/~cng/ns2measure/stat-utils.tgz

After downloading the package, you have to uncompress it and compile the source code. You can do this by:

   cd /tmp
   tar zxf stat-utils.tgz
   cd stat-utils
   make
   make install

The last command will try to install the executables in the /usr/local/bin. To do this, you probably need root privileges. After installing the utilities, you can remove the directory /tmp/stat-utils and the archive /tmp/stat-utils.tgz.

To run the recover utility you can just issue the command /usr/local/bin/recover (or recover only, depending on your system).

Please refer to the documentation and instructions in the webpage of the ns2measure module for more details.

Q3: How can I use your module for my research?

A3: If you only want to evaluate the performance of WMN with 802.16 mesh, you might want to modify the example script wimax/tcl/mesh.tcl so as to change, e.g., the logical topology of nodes (see wimax/tcl/TOPOLOGIES) or the offered load (see the TRAFFIC CONFIGURATION section of file wimax/tcl/mesh.tcl, and see how this affects the metrics of interest (e.g. delay and throughput, see above).

Q4: I have installed the patch correctly into a perfectly working ns-2 distribution. However, when I try to run the example provided the Tcl interpreter complains about wrong procedures being called. Why is that?

A4: Since you have patched a working copy of ns-2, the compiled objects file (.o) are still around, and will not be re-compiled unless you have issued a 'make depend' command after applying the patch. To solve the problem just run from the ns-2.31/ directory:

   make clean
   make

Q5: The compiler complains about undefined UINT_MAX, what can I do?

A5: Just add the following line at the beginning of the file indicated by the compiler:

   #define UINT_MAX 4294967295U
Personal tools