Skip to content
Snippets Groups Projects
Commit 877c963e authored by Maël Madon's avatar Maël Madon
Browse files

last version of README

parent 854bd01b
No related branches found
No related tags found
1 merge request!1Extension europar2022
# Characterization of different user behaviors for demand response in data centers # Characterization of different user behaviors for demand response in data centers
This repository contains the scripts and files needed to reproduce the experiments presented in the paper "Characterization of different user behaviors for demand response in data centers" submitted to [Euro-Par conference 2022](https://2022.euro-par.org/). This repository is the artifact associated to the publication "Characterization of different user behaviors for demand response in data centers" presented at [Euro-Par 2022](https://2022.euro-par.org/). It contains all the scripts and files needed to reproduce the experiments presented in the paper.
## Description of the main files ## Description of the main files
- `prepare_workload.ipynb`: Jupyter notebook downloading and preparing the workload trace used in the experiments - `prepare_workload.ipynb`: Jupyter notebook downloading and preparing the workload trace used in the experiments
- `campaign.py`: Python script preparing and launching in parallel the 105 experiments. Each experiment corresponds to one instance of `instance.py`. - `campaign.py`: Python script preparing and launching in parallel the 105 experiments. Each experiment corresponds to one instance of `instance.py`
- `analyse_campaign.ipynb`: Jupyter notebook analysing the results and plotting the graphs shown in the article - `analyse_campaign.ipynb`: Jupyter notebook analysing the results from the campaign and plotting the graphs shown in the article
We also made use of some handy scripts to install the environment and launch the experiments on Grid'5000 that are not directly necessary to reproduce the results but that we leave in the folder `scripts` for interested readers.
(campaign1 is another set of experiements not discussed in the article. We kept it here but beware that some path might be broken...)
## Steps to reproduce ## Steps to reproduce
You should be able to reproduce the experiments with a standard Linux machine (laptop, desktop, one cluster node), with a graphical interface for the Jupyter notebooks. We personnaly used a 16-core Intel Xeon E5-2630 v3 machine from [Grid'5000 testbed](https://www.grid5000.fr) on which the experiments ran in less than two hours.
You will need ~10GB disk space for the inputs, outputs and dependencies. You will need ~10GB disk space for the inputs, outputs and dependencies.
### 1. Install ### 1. Install
...@@ -23,26 +26,27 @@ The main software used (and configured in the file `default.nix`) are: ...@@ -23,26 +26,27 @@ The main software used (and configured in the file `default.nix`) are:
- [Batmen](https://gitlab.irit.fr/sepia-pub/mael/batmen): our set of schedulers for batsim and plugin to simulate users - [Batmen](https://gitlab.irit.fr/sepia-pub/mael/batmen): our set of schedulers for batsim and plugin to simulate users
- python3, pandas, jupyter, matplotlib etc. for the data analysis - 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. Enter a shell with all dependencies managed. This will take some time (~5mn) to download and compile averything the first time you launch it, but then all the environment is cached for future use.
```bash ```bash
nix-shell -A exp_env --pure nix-shell -A exp_env --pure
``` ```
### 2. Prepare input workload ### 2. Prepare input workload
Inside the nix shell, start a notebook and follow the steps presented in `0_prepare_workload.ipynb`: Inside the nix shell, start a notebook and follow the steps presented in `prepare_workload.ipynb` (~5mn):
```bash ```bash
jupyter notebook 0_prepare_workload.ipynb jupyter notebook 0_prepare_workload.ipynb
``` ```
### 3. Launch the campaign ### 3. Launch the campaign
Still inside the nix shell, launch the python script. It took about 2 hours for us to execute in parallel on a 16-core Intel Xeon E5-2630 v3 machine. Still inside the nix shell, launch the python script (it took around 2 hours for us to execute in parallel on our 16-core machine):
```bash ```bash
python3 campaign2.py python3 campaign.py
``` ```
### 4. Analyse the results ### 4. Analyse the results
Finally and still in the nix shell, run this Jupyter notebook to plot the graphs displayed in the article:
```bash ```bash
jupyter notebook analyse_campaign2.ipynb jupyter notebook analyse_campaign.ipynb
``` ```
## More information about these experiments ## More information about these experiments
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment