summaryrefslogtreecommitdiff
path: root/simulations/README.md
blob: 70bb8b3ce8a6d61f0807a1ff32e652a0609e55ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Impact of loosely coupled data dissemination policies for resource challenged environements

## Folders
- src/: contains the simulator code (based on SimGrid)
- libs/: contains a setup script that will fetch and configure the correct SimGrid version
- results/: Contains all needed script to run the experiments
    - In particular paper.sh generates the results present in the paper
## Setup
- First you need [Boost](https://www.boost.org/)
- Then setup SimGrid with `cd ./libs && ./setup.sh && cd -`
- Then run `make` in this folder to compile the simulator code
- If the project compiles successfully, you are ready to execute the simulations!
## Paper's Simulations
- To run all the simulations presented in the paper simply run `./results/paper.sh`
    this will create the file `results/results.csv` containing all the results. This will also create an
    `inputs.json` that you can modify at your convenience
- Note: `inputs.json` file is generated by `src/scenarios.cc` (see paper.sh to see how it  is used)
    - The idea of scenarios.cc is to generate a random node schedule (turn_on and turn_off cycles) based on the various suppplied arguments
    - Then, `simulator.cc` can use this `inputs.json` (via `Inputs.cc`) to simulate those cycles
## Simulations
- The file `inputs.json`  controls the inputs to the simulator. You should only care about this file if you want custom simulations
- To run the simulation just run `make run` This will also generate a file called `platform.xml`  corresponding to the simulated platform
- To generate a *csv* output from the simulation results you can use:
 `make run 2>&1|./parser.awk`