Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# ElastiSim Example Project
An example ElastiSim project utilizing an FCFS algorithm (without backfill) applied on 32 rigid jobs with alternating compute and I/O phases running on a crossbar topology with 128 compute nodes.
## Installation
To build the container required to run ElastiSim, install Docker and execute the following command:
```sh
docker build -t elastisim .
```
## Simulation
To run the simulation, execute the following commands in two different sessions:
### \*nix:
```sh
docker run -v $PWD/data:/data -v $PWD/algorithm:/algorithm -u `id -u $USER` --name elastisim -it --rm elastisim /data/input/configuration.json --log=root.thresh:warning
docker exec -u `id -u $USER` -it elastisim python3 /algorithm/algorithm.py
```
### Mac OS:
```sh
docker run -v $PWD/data:/data -v $PWD/algorithm:/algorithm --name elastisim -it --rm elastisim /data/input/configuration.json --log=root.thresh:warning
docker exec -it elastisim python3 /algorithm/algorithm.py
```
### Windows (PowerShell):
```sh
docker run -v ${PWD}\data:/data -v ${PWD}\algorithm:/algorithm --name elastisim -it --rm elastisim /data/input/configuration.json --log=root.thresh:warning
docker exec -it elastisim python3 /algorithm/algorithm.py
```
The first command runs the ElastiSim simulator process and accepts two inputs:
- the configuration file (JSON)
- the logging level
For a more detailed output change `--log=root.thresh:warning` to `--log=root.thresh:info` (caution: verbose).
The second command runs the scheduling algorithm.