Skip to content
Snippets Groups Projects
user avatar
Maël Madon authored
e58f0965
History

Multi-behavior experiment

This directory contains the necessary script for the experiment with batmen multi-behavior class using metacentrum dataset. It is a fork from demand-response-user (https://gitlab.irit.fr/sepia-pub/open-science/demand-response-user).

Description of the main files

  • scripts/prepare_workload shell script to prepare the workload
  • campaign3.py: Python script preparing and launching in parrallel the experiments. Each experiment corresponds to one instance of instance3.py.
  • analyse_campaign3.ipynb: Jupyter notebook analysing the results.

Steps to reproduce

1. Install

For the sake reproductibility, all the dependancies for these experiments and their version (release tag or commit number) are managed with the package manager Nix. If you don't have it on your machine, the following command should install it. Otherwise, please refer to their documentation.

curl -L https://nixos.org/nix/install | sh

The main software used (and configured in the file default.nix) are:

  • Batsim and SimGrid for the infrastructure simulation
  • Batmen: our set of schedulers for batsim and plugin to simulate users
  • Batmen-tools : a set of tools to manipulate swf files
  • python3, pandas, jupyter, matplotlib etc. for the data analysis

Enter a shell with all dependencies managed. This will take some time to download and compile the first time you launch it, but then all the environment is cached for future use.

nix-shell -A exp_env --pure

2. Prepare input workload

Inside the nix-shell use the following command inside project directory :

scripts/prepare_workload.sh

3. Launch the campaign

Quick start

Still inside the nix shell, launch the bash script

scripts/run_expe.sh

Advanced start

Still inside the nix shell, launch the commands :

python3 campaign3.py --help

You will get a details of every possible arguments. You will have to at least give the following arguments :

  • --expe-range to provide the expe to do for all available experiment type --expe-range -1 else provide the list of experiment with experiments [0,1] it will be --expe-range 0 1

4. Analyse the results

jupyter notebook analyse_campaign3.ipynb

Energy Data

The provided example_trace_occitanie_2019.csv comes from a modification of the Open Data Réseaux Electrique energy production dataset for Occitanie in 2019 ( the original file can be directly downloaded here).

More information about these experiments

Here we give more details about how the simulation works.

TODO... (add the picture of the system?)