Skip to content

wrench-project/jsspp2022_submission_data

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jsspp2022_submission_data

This repository contains data, scripts, and code for making the research in a JSSPP'22 submission reproducible.

Simulator code

The simulator is hosted in another repository. All experiments are conducted with the simulator's code at commit tag b58de28b66d80df91d1a57855acf967f2c4b7c81. A Dockerfile for a Docker image with the simulator installed in /usr/local/bin/scheduling_using_simulation_simulator is available in simulator/Dockerfile. Cloning this repository into a container for this image is likely the easiest way to run all scripts mentioned hereafter. Here are the steps for building the image, starting a container for the image, logging into the container, and cloning this repository:

cd simulator/
docker build -t reproducible_research .
docker run -it --rm reproducible_research /bin/bash
git clone https://github.com/wrench-project/jsspp2022_submision_data.git

Workflow JSON files

All JSON workflow description files, which are WfCommons instances, are available in the workflows/ directory.

Script to run all simulations

A script to run all simulations is available in run_script/run_all_simulations.py. It requires that a mongod daemon be started locally, so that simulation output can be stored in a Mongo database. This script takes as input a number of threads to use and a list of compute platform configurations to simulate. For instance, to run this script in the Docker container, first start a Mongo daemon:

mkdir /tmp/db
mongod --dbpath /tmp/db 

and (in another terminal connected to the container):

cd jsspp2022_submission_data/run_scripts
./run_all_simulations.py 4 0,1,2,3,4,5,6,7,8

Note that the above will run for a VERY long time (we ran it on multiple VMs on the cloud with 48 threads on each, each running some of the platform configurations, for days). We highly recommend you use the provided database dump below.

Simulation raw output

Simulation raw output is available as a Mongo database dump in mongo_db_dump/simulation-result-dump.zip. This is the output that was generated by the run_script/run_all_simulations.py script for all 9 platform configurations presented in the paper. Here are the steps to inject the database dump into the (locally running) Mongo daemon:

cd jsspp2022_submission_data/mongo_db_dump/
unzip simulation-result-dump.zip
mongorestore simulation-result-dump

Scripts to extract simulation output from Mongo

A script to extract and summarize simulation output data from the Mongo database is available in extract_script/extract_all_results.py. This script generates several *.dict files, which are also included in the extract_script/ directory. If you want to run the script to (re-) generate these *.dict files, make sure that a Mongo daemon runs locally that has been fed the database dump in mongo_db_dump/simulation-result-dump.zip.

Scripts to plot/analyze the simulation output

Scripts to plot/analyze extracted simulation output data are available in the plot_scripts/ directory. These scripts take as input the *.dict files in the extract_scripts/ directory and generate .pdf images and text output, which are the basis for presenting simulation results in the paper.


About

Data, scripts, code for making the research in a JSSPP'22 submission reproducible

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published