User Tools

Site Tools


pads:lunesinst

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
pads:lunesinst [2013/04/04 12:29] gdangelopads:lunesinst [2019/11/15 12:56] (current) gda
Line 22: Line 22:
 The last version of the LUNES software can be freely downloaded from the [[pads:download|downloads page]]. The last version of the LUNES software can be freely downloaded from the [[pads:download|downloads page]].
  
-LUNES is provided as part of the ARTÌS/GAIA distribution or as a standalone archive. In the first case all the LUNES files are already placed in the ARTÌS-2.0.4/MODELS/LUNES while in the second one it is necessary to untar the LUNES archive in the models directory (ARTÌS-2.0.4/MODELS/).+LUNES is provided as part of the ARTÌS/GAIA distribution or as a standalone archive. In the first case all the LUNES files are already placed in the ARTÌS-x.y.z/MODELS/LUNES while in the second one it is necessary to untar the LUNES archive in the models directory (ARTÌS-x.y.z/MODELS/).
  
 For a complete installation and setup guide of ARTÌS/GAIA please see its specific howto: [[pads:artisinst|ARTÌS & GAIA HOWTO]]. **In the following of this document we assume a running ARTÌS/GAIA installation.** For a complete installation and setup guide of ARTÌS/GAIA please see its specific howto: [[pads:artisinst|ARTÌS & GAIA HOWTO]]. **In the following of this document we assume a running ARTÌS/GAIA installation.**
Line 28: Line 28:
 ==== Missing libraries ==== ==== Missing libraries ====
  
-<fc #ff0000>MISSING LIBRARIES:</fc> the standard installation of Ubuntu 12.04.1 is missing some libraries that are needed by LUNES. The following libraries have to be installed using the command line interface (as shown in the following) or the graphical tools provided in Ubuntu.+<color #ff0000>MISSING LIBRARIES:</color> the standard installation of Ubuntu 12.04.1 is missing some libraries that are needed by LUNES. The following libraries have to be installed using the command line interface (as shown in the following) or the graphical tools provided in Ubuntu.
  
 |  name            ^  description  |  name            ^  description 
Line 34: Line 34:
 ^ libigraph0-dev    |  library for creating and manipulating graphs, development files  | ^ libigraph0-dev    |  library for creating and manipulating graphs, development files  |
  
-<fc #ff6600>EXAMPLE:</fc>+<color #ff6600>EXAMPLE:</color>
 <code> <code>
 sudo apt-get install libigraph0 libigraph0-dev sudo apt-get install libigraph0 libigraph0-dev
Line 41: Line 41:
 ==== Working directory ==== ==== Working directory ====
  
-LUNES needs <fc #ff0000>A LOT OF DISK SPACE</fc> for trace files and temporary files that are used for the performance evaluation tasks. The simulator expects to find a directory called **/srv/lunes** with the appropriate permissions. This directory, such as many other settings, can be changed modifying the **scripts_configuration.sh** configuration file (in the main LUNES directory).+LUNES needs <color #ff0000>A LOT OF DISK SPACE</color> for trace files and temporary files that are used for the performance evaluation tasks. The simulator expects to find a directory called **/srv/lunes** with the appropriate permissions. This directory, such as many other settings, can be changed modifying the **scripts_configuration.sh** configuration file (in the main LUNES directory).
  
-<fc #ff0000>NOTE:</fc> creating a new subdirectory in /srv/ requires root permissions. Furthermore, after the creation, it is needed to set the appropriate user/group permissions and permission bits. An alternative to **/srv/** it could be using **/tmp/** if enough disk space is available.+<color #ff0000>NOTE:</color> creating a new subdirectory in /srv/ requires root permissions. Furthermore, after the creation, it is needed to set the appropriate user/group permissions and permission bits. An alternative to **/srv/** it could be using **/tmp/** if enough disk space is available.
  
 ===== Basic Usage ===== ===== Basic Usage =====
Line 52: Line 52:
 In this case our goal is to simulate a gossip protocol called "Conditional Broadcast" on top of some graphs (i.e. networks) with specific characteristics. Let's start moving on the LUNES directory. In this case our goal is to simulate a gossip protocol called "Conditional Broadcast" on top of some graphs (i.e. networks) with specific characteristics. Let's start moving on the LUNES directory.
  
-<fc #ff6600>EXAMPLE:</fc>+<color #ff6600>EXAMPLE:</color>
 <code> <code>
 cd ARTIS-2.0.4/MODELS/LUNES cd ARTIS-2.0.4/MODELS/LUNES
Line 59: Line 59:
 The LUNES simulator is provided as source code and therefore needs to be compiled before usage, a Makefile is provided. The LUNES simulator is provided as source code and therefore needs to be compiled before usage, a Makefile is provided.
  
-<fc #ff6600>EXAMPLE:</fc>+<color #ff6600>EXAMPLE:</color>
 <code> <code>
 make make
Line 70: Line 70:
 The first step is to prepare the corpus to be used in the simulation runs. In the LUNES distribution (i.e. in the **example_corpuses** directory) are provided some corpuses that can be used for this purpose. The first step is to prepare the corpus to be used in the simulation runs. In the LUNES distribution (i.e. in the **example_corpuses** directory) are provided some corpuses that can be used for this purpose.
  
-<fc #ff6600>EXAMPLE:</fc>+<color #ff6600>EXAMPLE:</color>
 <code> <code>
 tar xvfz example-corpuses/random_corpus-100_vertex-200_edges-diameter_8-100_graphs.tgz -C /srv/lunes/ tar xvfz example-corpuses/random_corpus-100_vertex-200_edges-diameter_8-100_graphs.tgz -C /srv/lunes/
 </code> </code>
  
-<fc #ff6600>EXAMPLE:</fc>+<color #ff6600>EXAMPLE:</color>
 <code> <code>
 ln -s /srv/lunes/random_corpus-100_vertex-200_edges-diameter_8-100_graphs /srv/lunes/corpus ln -s /srv/lunes/random_corpus-100_vertex-200_edges-diameter_8-100_graphs /srv/lunes/corpus
Line 82: Line 82:
 Most of simulation parameters can be controlled using the parameters found in the **scripts_configuration.sh** and in the first part of the evaluation script (in this case the **sim-metrics-broadcast-corpus**). For example, each corpus is composed of 100 graphs but in this case, to reduce the running time, we are going to evaluate the broadcast protocol on smaller set of graphs. This can be done editing the **scripts_configuration.sh** and modifying the **NUMBERRUNS** parameter. Most of simulation parameters can be controlled using the parameters found in the **scripts_configuration.sh** and in the first part of the evaluation script (in this case the **sim-metrics-broadcast-corpus**). For example, each corpus is composed of 100 graphs but in this case, to reduce the running time, we are going to evaluate the broadcast protocol on smaller set of graphs. This can be done editing the **scripts_configuration.sh** and modifying the **NUMBERRUNS** parameter.
  
-<fc #ff6600>scripts_configuration.sh: (before)</fc>+<color #ff6600>scripts_configuration.sh: (before)</color>
 <code> <code>
 [...] [...]
Line 93: Line 93:
 </code> </code>
  
-<fc #ff6600>scripts_configuration.sh: (after)</fc>+<color #ff6600>scripts_configuration.sh: (after)</color>
 <code> <code>
 [...] [...]
Line 106: Line 106:
 The **sim-metrics-broadcast-corpus** is intended for testing the gossip protocol in presence of a full range of dissemination probabilities. Also in this case it is possible to cut the running time reducing the number of tests to be done. The **sim-metrics-broadcast-corpus** is intended for testing the gossip protocol in presence of a full range of dissemination probabilities. Also in this case it is possible to cut the running time reducing the number of tests to be done.
  
-<fc #ff6600>**sim-metrics-broadcast-corpus**: (before)</fc>+<color #ff6600>**sim-metrics-broadcast-corpus**: (before)</color>
 <code> <code>
 [...] [...]
Line 116: Line 116:
 </code> </code>
  
-<fc #ff6600>**sim-metrics-broadcast-corpus**: (after)</fc>+<color #ff6600>**sim-metrics-broadcast-corpus**: (after)</color>
 <code> <code>
 [...] [...]
Line 128: Line 128:
 Now it is possible to start the simulation. The evaluation script will run the dissemination protocol on 10 graphs in the corpus and for each graph will test 3 different configurations (dissemination probability = {10, 30, 50}). Now it is possible to start the simulation. The evaluation script will run the dissemination protocol on 10 graphs in the corpus and for each graph will test 3 different configurations (dissemination probability = {10, 30, 50}).
  
-<fc #ff6600>EXAMPLE:</fc>+<color #ff6600>EXAMPLE:</color>
 <code> <code>
 ./sim-metrics-broadcast-corpus ./sim-metrics-broadcast-corpus
Line 139: Line 139:
 Each directory contains the results for the adaptive broadcast gossip protocol when run with the given dissemination probability. For example, in the **broadcast-100-lp1-migr0-prob50-mfactor1.2-load0** the file **broadcast-STATS.dat** contains the following results: Each directory contains the results for the adaptive broadcast gossip protocol when run with the given dissemination probability. For example, in the **broadcast-100-lp1-migr0-prob50-mfactor1.2-load0** the file **broadcast-STATS.dat** contains the following results:
  
-<fc #ff6600>**broadcast-STATS.dat**:</fc>+<color #ff6600>**broadcast-STATS.dat**:</color>
 <code> <code>
 100     63.781000                4.304000        5029901.200000  1.056000 100     63.781000                4.304000        5029901.200000  1.056000
Line 173: Line 173:
 ===== Appendix A: trace files ===== ===== Appendix A: trace files =====
  
-As described above, LUNES produces a large amount of trace files that are stored in the working directory (the default is **/srv/lunes**). Following [[http://pads.cs.unibo.it/download/LUNES-traces.tar.bz2|this link]] it is possible to download an example of such traces. In this case, each file is the output of a single evaluation on a different graph. Each line in the files describes the generation of a new message and/or its delivery on a node.+As described above, LUNES produces a large amount of trace files that are stored in the working directory (the default is **/srv/lunes**). Each line in the trace files describes the generation of a new message and/or its delivery to a node.
  
 +The file structure is very simple:
 +STAT <operation> <one or more parameters>
  
 +In the current version there are only thee operations that are implemented: {GEN, RCV, MSG}.
 +
 +^ Operation      ^ Parameter(s)       ^ Description          ^ Parameters          ^
 +| STAT GEN    | parameter        //A new message has been generated.//    |    The **parameter** is a integer value that identifies the newly generated message. All the message identifiers are chosen at random.       |
 +| STAT RCV    | parameter1 parameter2 parameter3 [parameter4]    |    //A new message has been received by a given node.//      All the parameters are integer values. The **parameter1** is the identifier of the receiver. The **parameter2** is the identifier of the message that has been received. The **parameter3** is the number of hops to arrive in this node. There is a **parameter4** only if the message is not locally generated (i.e. it has been delivered by a neighbor). The meaning of this last parameter is the residual TTL of the delivered message.   |
 +| STAT MSG    | parameter        //Total number of delivered messages.//    |    The **parameter** is a integer value that identifies the total number of messages delivered in this run.       |
  
pads/lunesinst.1365078570.txt.gz · Last modified: 2013/04/04 12:29 by gdangelo

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki