@@ -10,9 +10,9 @@ It is a fork from demand-response-user
...
@@ -10,9 +10,9 @@ It is a fork from demand-response-user
-`scripts/run_expe.sh` shell script which launch experiments when workload is prepared.
-`scripts/run_expe.sh` shell script which launch experiments when workload is prepared.
-`scripts/compute_stat.sh` shell script which compute stats when the experiments finished.
-`scripts/compute_stat.sh` shell script which compute stats when the experiments finished.
-`default.nix` nix file given all the necessary dependencies.
-`default.nix` nix file given all the necessary dependencies.
-`campaign3.py`: Python script preparing and launching in parrallel the experiments.
-`campaign.py`: Python script preparing and launching in parrallel the experiments.
Each experiment corresponds to one instance of `instance3.py`.
Each experiment corresponds to one instance of `instance.py`.
-`analyse_campaign3.ipynb`: Jupyter notebook analysing the results.
-`analyse_campaign.ipynb`: Jupyter notebook analysing the results.
## Steps to reproduce the experiments
## Steps to reproduce the experiments
...
@@ -33,8 +33,8 @@ The main software used (and configured in the file `default.nix`) are:
...
@@ -33,8 +33,8 @@ The main software used (and configured in the file `default.nix`) are:
- python3, pandas, jupyter, matplotlib etc. for the data analysis
- python3, pandas, jupyter, matplotlib etc. for the data analysis
All the dependencies of the project are given in the default.nix file to
All the dependencies of the project are given in the `default.nix` file.
install nix you can launch the command
If you do not have Nix installed on your machine, you can install it with
```bash
```bash
scripts/install_nix.sh
scripts/install_nix.sh
```
```
...
@@ -42,36 +42,40 @@ It might be required to type other commands for the nix command to be
...
@@ -42,36 +42,40 @@ It might be required to type other commands for the nix command to be
available in the current shell. In this case it will be indicated by the
available in the current shell. In this case it will be indicated by the
prompt of the nix installation.
prompt of the nix installation.
Open a shell with all the dependencies managed:
To go into the experiments environment you can now type :
```bash
```bash
nix-shell -A exp_env --pure
nix-shell -A exp_env --pure
```
```
This will compile and install all the dependencies needed for the experiments
it can take some times (in our case, it took 6 minutes)
This will compile and install all the dependencies needed for the experiments.
It can take some time (in our case, it took 6 minutes).
### 2. Prepare input workload
### 2. Prepare input workload
Inside the nix-shell use the following command inside project directory :
Inside the nix-shell, run the following script to download (from the [Parallel Workloads Archive](https://www.cs.huji.ac.il/labs/parallel/workload/)) and filter the input workload used in the experiments:
```bash
```bash
scripts/prepare_workload.sh
scripts/prepare_workload.sh
```
```
### 3. Launch the campaign
### 3. Launch the campaign
By default the run_expe scripts only run one seed by experiment
By default the `run_expe` scripts only run one seed by experiment
to do the 30 experiments you have to modify `--nb_replicat ` argument
to do the 30 experiments you have to modify `--nb_replicat` argument