This repository brings together scripts and tools to simulate energy consumption in scientific workflows using WRENCH. The goal is to help understand how different workflow configurations affect energy consumption and the use of computational resources.
Provide a basis for simulating energy consumption in workflows, enabling studies and analyses that contribute to the development of more efficient and sustainable strategies.
- Simulation of scientific workflows in HPC systems.
- Generation of synthetic workflows with tools such as Wfcommons.
- Collection and export of energy consumption metrics in CSV format files.
- WRENCH: A simulation framework for workflow management systems.
- Wfcommons: Tool for modeling and generating synthetic workflows.
- Python: For automation and analysis of results.
- C++: For simulation development.
- Docker: For configuring reproducible environments.
{path}/energy-consumption-simulator/
├── datas/ # Data obtained through simulations
├── include/ # Code headers
├── notebooks/ # Jupyter Notebooks with Machine Learning results
├── platforms/ # Files and scripts related to different simulated platforms
├── src/ # Main source code of the project
├── workflows/ # Workflows metrics used for simulations
├── blast/
├── epigenomics/
├── montage/
Before you begin, make sure you have:
- Docker
Clone the repository and install the dependencies:
git clone https://github.com/feliperafaelbarbosa/energy-consumption-simulator.git
cd energy-consumption-simulator
Inside the Docker container, install WfCommons.
Create synthetic workflows using the wfgenrecipe.py
script located in the src
folder. THe files will be generated in the workflows/
directory.
Create a folder named build
in the root of the project, enter the folder, run cmake ..
and then make
Navigate to the root of the project and run the start.sh
script. The simulation results will be generated in the /data
directory.
Contributions are welcome! Feel free to:
-
Open issues to report problems or suggest improvements.
-
Submit pull requests with new features or fixes.
This project is licensed under the Licença MIT.