https://github.com/sandrain/analyzethis-schedsim
A workflow scheduling simulator for multi-core active flash devices.
https://github.com/sandrain/analyzethis-schedsim
active-storage simulation
Last synced: 11 months ago
JSON representation
A workflow scheduling simulator for multi-core active flash devices.
- Host: GitHub
- URL: https://github.com/sandrain/analyzethis-schedsim
- Owner: sandrain
- Created: 2021-04-12T13:04:45.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2021-04-12T13:17:59.000Z (about 5 years ago)
- Last Synced: 2025-01-10T13:47:20.873Z (over 1 year ago)
- Topics: active-storage, simulation
- Language: Java
- Homepage:
- Size: 9.27 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### AnalyzeThis scheduling simulator
AnalyzeThis is an analysis workflow-aware storage system. More information can be found in
the following papers:
* Hyogi Sim, Geoffroy Vallee, Youngjae Kim, Sudharshan S. Vazhkudai, Devesh
Tiwari, and Ali R. Butt, ["An Analysis Workflow-Aware Storage System for
Multi-Core Active Flash Arrays,"](https://doi.org/10.1109/TPDS.2018.2865471) IEEE Transactions on Parallel Distributed
Systems (TPDS), vol. 30, no. 2, pp. 271–285, Feb. 2019.
* Hyogi Sim, Youngjae Kim, Sudharshan S. Vazhkudai, Devesh Tiwari, Ali Anwar,
Ali R. Butt, and Lavanya Ramakrishnan, ["AnalyzeThis: An Analysis Workflow-Aware
Storage System,"](https://doi.org/10.1145/2807591.2807622) in Proceedings of the International Conference for High
Performance Computing, Networking, Storage and Analysis (SC), New York, NY,
USA, 2015
This simulator is to study the performance under large-scale and multi-core environments,
which is difficult from the [emulation framework](https://github.com/sandrain/anfs).
### How to run
Run with master branch. dev branch might not be stable.
* [master] Tested on python 2.7.5
* [dev] will be unstable.
BharathiPaper directory contains the snapshot of the workflow generator, which
was used in the [paper by Bharathi (Characterization of Scientific Workflows)](https://confluence.pegasus.isi.edu/download/attachments/2490624/Workflow-generator-works08.pdf?version=1&modificationDate=1254808345000&api=v2).
All resources regarding the paper could be found [here](https://confluence.pegasus.isi.edu/display/pegasus/WorkflowGenerator).
### Single Host Simulation
The simulator can be used to simulate a single host with n AFEs and N cores. To activate
this mode, simply do *not* specify any hosts ('-N' argument). For instance,
```
./sim.py -c 2 -n 4 workflows/montage_60.xml
```
simulates a single host with 2 cores and 4 AFEs.
This simulation mode relies on the scheduler from the [libanalyzethis](https://github.com/sandrain/libanalyzethis)
library. To enable it,
you must specify where the library is installed using the `PYTHONPATH` environment variable.
```
export PYTHONPATH=/where/libanalyzethis/is/src:$PYTHONPATH
```
### Multi-host Simulation
The simulator can be used to simulate a distributed platform. In this context, the simulated
distributed platform can include several servers (nodes hosting the AFEs) and several
clients. This mode requires the [libanalyzethis](https://github.com/sandrain/libanalyzethis)
library and it is required to specify where
the library is installed using the `PYTHONPATH` environment variable.
```
export PYTHONPATH=/where/libanalyzethis/is/src:$PYTHONPATH
```
To activate the multi-host mode, simply specify the number of nodes on the command line:
```
./sim.py -N 2 -c 2 -n 2 workflows/montage_60.xml
```
This will simulates 2 server nodes, each node having 2 cores and 2 AFEs.