Skip to content

Latest commit

 

History

History
118 lines (80 loc) · 3.49 KB

File metadata and controls

118 lines (80 loc) · 3.49 KB

Scripts to construct network and conduct experiment

Overview

The scripts in this directory serve the experiment setup and conduction.

construct_network.py constructs a network of up to 50 nodes (may be less due to bookings within the selected site).

create_ff_descs.py creates a descs.yaml for the experiments conducted in Section IV. COMPARISON OF FRAGMENT FORWARDING METHODS.

create_cc_descs.py creates a descs.yaml for the experiments conducted in Section V. EVALUATION OF CONGESTION CONTROL WITH SFR.

dispatch_experiments.py conducts the experiments as described in the current descs.yaml.

Finally, setup_exp.sh ensures the environment for dispatch_experiments.py that the script is run in the background in one TMUX session (called 6lo-comp). It also ensures that an SSH authentication agent was started and configured to communicate with the IoT-LAB frontend server.

Requirements

The scripts assume they are run with Python 3.

The following python packages are required (version numbers indicate tested versions):

The required packages are listed in requirements.txt and can be installed using

pip3 install -r requirements.txt

You must also configure your IoT-LAB credentials using iotlab-auth which is provided by the iotlabcli python package (which is automatically installed with iotlab_controller). See

iotlab-auth -h

for further instructions.

Usage

construct_network.py

This script constructs a sink-oriented network using predefined values. See

./construct_network.py -h

for further information. The resulting edgelist.gz file will be stored in ./../../results

Environment variables

  • DATA_PATH: (default: ./../../results) Path to store the edge list file in

create_ff_descs.py

This script creates a descs.yaml with experiment descriptions for dispatch_experiments.py to conduct the experiments in Section IV. COMPARISON OF FRAGMENT FORWARDING METHODS. See

./create_ff_descs.py -h

for further information. The resulting descs.yaml will be created in this directory. descs.example.ff.yaml provides an example output of the script.

create_cc_descs.py

This script creates a descs.yaml with experiment descriptions for dispatch_experiments.py to conduct the experiments in Section V. EVALUATION OF CONGESTION CONTROL WITH SFR. See

./create_cc_descs.py -h

for further information. The resulting descs.yaml will be created in this directory. descs.example.cc.yaml provides an example output of the script.

dispatch_experiments.py

This script conducts the experiments with a given configuration on a selection of M3 nodes in the IoT-LAB testbed. An experiments configuration is described by a descs.yaml file as generated by one of the create_{cc,ff}_descs.py in the object description language YAML. See

./dispatch_experiments.py -h

for further information.

setup_exp.sh

Helper script to automatically put dispatch_runs.sh (and its generated TMUX windows) in a TMUX session with proper SSH authentication agent configuration.

As such, when starting the script, it might ask you for your SSH key passphrase. It is used to store your key in the SSH authentication agent, so the called scripts can communicate with the IoT-LAB SSH frontend.