Mentions légales du service

Skip to content
Snippets Groups Projects
H

HyFN

Project ID: 1506
user avatar
Simon Bouget authored
2df34349
History
HyFN Simulator
(c) F. Taiani, H. Kervadec, S. Bouget 2013-2017

This code implements the HyFN protocol on top of the Peersim
simulator. The following is a very brief starting guide to this code
and its accompanying scripts.

Contact:
  François Taïani, francois.taiani@irisa.fr
  Simon Bouget, simon.bouget@irisa.fr

* Environment

HyFN is implemented in Scala, and requires access to the
standard Scala library. You will need to set up the environment
variable SCALA_LIB to a directory containing :

scala-compiler.jar
scala-library.jar
scala-reflect.jar

The code has been tested with Java 1.8.0_121 and Scala 2.12.1. The
included scripts assume python3.

* Compiling HyFN

Run ant on the build.xml file in the root directory of the project.

$ ant
  
* Running simulations

** One simulation

The behavior of the Polystyrene protocol is controlled via a PeerSim
configuration file. A sample of this configuration is provided in the
config.txt file. To run the corresponding simulation use:

$ ./run.py config.txt

** Many simulations launched in parallel

The directory 'parallel_launcher' contains python scripts that rely on
the multiprocessing package of python to launch a batch of long
running simulations on multi-core machines.

Look at the several KFN-*.py scripts for examples on how to do
this. All simu* scripts supports a set of options that control their
behavior. Use the -h option to get a usage description. For instance:

$ ./KFN-test.py -h
usage: simu_test.py [-h] [--debug] [--dry] [--logstdout] [--nocompile]
                    [--nice | --leavecore N]

optional arguments:
  -h, --help     show this help message and exit
  --debug        print debug info
  --dry          dry run (no simulations)
  --logstdout    print log to stdout
  --nocompile    does not compile source prior to running
  --nice         only use half of the CPU cores (excludes --leavecore)
  --leavecore N  number of cores to leave free (excludes --nice)

Results are saved to the corresponding results_* directory.