Table of Contents

Create an experiment

Now that all the experiment material has been successfully uploaded on the airlock you will have to create a task file. The task file is a simple tar.gz archive file that contains your experiment material alongside an experiment description file: scenario.yaml.

The experiment description file

The experiment description file called scenario.yaml will be looked for and read by the experiment scheduler to get which nodes and what software will be used during the experiment. It also gives the necessary startup scripts and parameters that the user provides for his experiment.

Here is a simple example of a scenario.desc file:

# Example scenario description file
#
#   All lines starting with "#" and empy lines are ignored


# Scenario textual description
#   simple string (a one liner)
description: OFDM tx-rx example scenario for CorteXlab

# Experiment maximum duration
#   Time after which the experiment is forced to stop
#   integer (seconds)
duration: 120

# Node list
#
#   format:
#
#   nodes:
#     (machine):
#       command: (entry point script relative to the task root)

nodes:
  node4:
    command: benchmark_rx.py --antenna="TX/RX" --rx-gain=25 -v -W 2M -f 2.49G
  node6:
    command: benchmark_tx.py --antenna="TX/RX" --tx-amplitude=0.2 -v -W 2M -f 2.49G

This file uses its own syntax and is self-documented. Adapt this example to suit your needs.

Creating the task file

Once the scenario.yaml file is written, put all the experiment material and the scenario.yaml file in the same directory. The file tree could look like something like that:

...
├── ofdm_txrx
│   ├── benchmark_rx.py
│   ├── benchmark_tx.py
│   ├── receive_path.py
│   ├── scenario.yaml
│   ├── transmit_path.py
│   └── uhd_interface.py
...

Now, use the Minus CLI to create the task file:

you@srvairlock:~$ minus task create path/to/the/folder

The success (or failure) of the creation will be printed on screen. The task file will be created at the same level and name than the targeted experiment folder but with a .task suffix.

Note: You can get help on the Minus CLI at anytime with minus -h

Submitting the task to the experiment scheduler