Skip to content

wrench-project/wrench

Repository files navigation

Build Status GitHub Release License: LGPL v3 Coverage Status CodeFactor Badge CII Best Practices Slack

WRENCH Project
Cyberinfrastructure Simulation Workbench

WRENCH is an open-source library that provides high-level simulation abstractions that serve as building blocks for developing custom simulators of distributed computing systems, platforms, and applications.

More information and Documentation: WRENCH Project Website

WRENCH Research Paper:

Prerequisites

WRENCH is fully developed in C++. The code follows the C++17 standard, and thus older compilers tend to fail the compilation process. Therefore, we strongly recommend users to satisfy the following requirements:

  • CMake - version 3.10 or higher

And, one of the following:

  • g++ - version 7.5 or higher
  • clang - version 9.0 or higher

Dependencies

Required Dependencies

Optional Dependencies

  • Google Test - version 1.8 or higher (only required for running test cases)
  • Doxygen - version 1.8 or higher (only required for generating documentation)
  • Sphinx - version 4.5 or higher along with the following Python packages: pip3 install sphinx-rtd-theme breathe recommonmark (only required for generating documentation)
  • Batsched - version 1.4 - useful for expanded batch-scheduled resource simulation capabilities
  • Asio - necessary only for building wrench-daemon

Building From Source

If all dependencies are installed, compiling and installing WRENCH is as simple as running:

mkdir build
cd build
cmake ..
make
sudo make install

For enabling the use of Batsched:

mkdir build
cd build
cmake -DENABLE_BATSCHED=on ..
make
sudo make install

To use a non-standard SimGrid installation path:

mkdir build
cd build
cmake -DSimGrid_PATH=/my/simgrid/path/ ..
make
sudo make install 

Get in Touch

The main channel to reach the WRENCH team is via the support email: [email protected].

Bug Report / Feature Request: our preferred channel to report a bug or request a feature is via
WRENCH's Github Issues Track.

Citing WRENCH

When citing WRENCH, please use the following paper. You should also actually read that paper, as it provides a recent and general overview on the framework.

@article{wrench,
  title = {Developing Accurate and Scalable Simulators of Production Workflow Management Systems with WRENCH},
  author = {Casanova, Henri and Ferreira da Silva, Rafael and Tanaka, Ryan and Pandey, Suraj and Jethwani, Gautam and Koch, William and Albrecht, Spencer and Oeth, James and Suter, Fr\'{e}d\'{e}ric},
  journal = {Future Generation Computer Systems},
  volume = {112},
  number = {},
  pages = {162--175},
  year = {2020},
  doi = {10.1016/j.future.2020.05.030}
}

List of Contributors via Pull Requests

User Description
@dohoangdzung I/O with page cache simulation model (09/2020)

Funding Support

WRENCH has been funded by the National Science Foundation (NSF), and the National Center for Scientific Research (CNRS).

NSF Funding 2103489 NSF Funding 2103508 NSF Funding 20191 NSF Funding 20192 NSF Funding 20161 NSF Funding 20162 CNRS Funding 2015