New WRENCH-2.8 on SimGrid 4.1 · Nov 12, 2025

Simulate the system
before you build it.

WRENCH is an open-source workbench for building accurate, scalable, and reproducible simulators of parallel and distributed computing systems. Prototype a runtime system, compare scheduling strategies, or run a thousand what-if scenarios overnight — on a single laptop, without touching a production platform.

45 papers & theses citing WRENCH
20 stable releases since 2017
LGPLv3 free and open source
// A complete simulator, in a handful of calls.
#include <wrench.h>

int main(int argc, char **argv) {
  auto simulation = wrench::Simulation::createSimulation();
  simulation->init(&argc, argv);

  // 1. The hardware: hosts, disks, links, routes
  simulation->instantiatePlatform("platform.xml");

  // 2. The cyberinfrastructure services
  auto storage = simulation->add(
      wrench::SimpleStorageService::createSimpleStorageService(
          "storage_host", {"/"}));

  auto compute = simulation->add(
      new wrench::BareMetalComputeService(
          "compute_host", {"compute_host"}, ""));

  // 3. Your runtime system / algorithm under test
  simulation->add(new MyController(compute, storage, "user_host"));

  // 4. Run it — seconds of wall clock, days of simulated time
  simulation->launch();
}
<!-- Describe any platform you can imagine -->
<platform version="4.1">
  <zone id="AS0" routing="Full">

    <host id="compute_host" speed="100Gf" core="8">
      <disk id="scratch" read_bw="1500MBps"
                         write_bw="800MBps">
        <prop id="size"  value="5000GiB"/>
        <prop id="mount" value="/scratch"/>
      </disk>
    </host>

    <host id="user_host" speed="10Gf" core="1"/>

    <link id="wan" bandwidth="5000MBps" latency="20us"/>

    <route src="user_host" dst="compute_host">
      <link_ctn id="wan"/>
    </route>

  </zone>
</platform>
# Docker — everything preinstalled
docker pull wrenchproject/wrench:2.8
docker run -it wrenchproject/wrench:2.8

# …or build from source (needs SimGrid 4.1)
git clone https://github.com/wrench-project/wrench.git
cd wrench && mkdir build && cd build
cmake .. && make -j4
sudo make install
C++ · Python & REST APIs available
Validated against real systems Simulation models calibrated on production executions, not guesswork.
Built and used by
45

peer-reviewed papers and theses citing WRENCH

28K

lines of tested, documented C++ in the core

22

pedagogic modules on eduWRENCH

19

contributors across four institutions

20

stable releases, 2017–2026

The framework

Four layers. One honest simulation.

WRENCH sits on top of SimGrid's validated simulation kernel and adds the abstractions that actually matter to systems research — compute services, storage, data movement, and the runtime logic you want to study. You write the interesting part; WRENCH handles the rest.

Simulators

Simulators of workload executions

Standalone programs that reproduce how a workload runs on a platform — runnable anywhere, in seconds, with fully deterministic output.

ReproducibleSingle machineDeterministic
User API

Simulated runtime systems

  • General-purpose runtime systems — schedulers, resource managers, brokers.
  • Workflow management systems — model production WMSs end to end.
  • Research prototypes — try an idea long before it needs an implementation.
Developer API

Simulated core services

  • Computation — cloud, batch, bare-metal, and serverless services.
  • Storage — simple storage, XRootD, Globus- and FTP-style transfers.
  • Network monitoring — proximity services with a Vivaldi coordinate model.
  • Data location — file registries and replica catalogs.
SimGrid

Simulated platform

The SimGrid S4U kernel provides the analytically validated models for CPU, disk, and network contention that everything above stands on.

SimGrid 4.1S4U APIValidated models

What you get

Everything a systems experiment needs

Simulation abstractions that would otherwise cost you a year of infrastructure code — already written, already validated, already documented.

Compute services

Bare-metal, batch-scheduled clusters (with FCFS, conservative, and EASY backfilling), virtualized clusters, clouds, and serverless functions.

Storage & data

File systems modelled by SimGrid's FSMod, simple and XRootD storage, replica catalogs, caching, and explicit data movement.

Network & topology

Contention-aware links and routes, arbitrary topologies, and network proximity services for locality-aware scheduling research.

Energy models

Per-host power profiles and pstate control, so energy-efficiency questions get first-class answers alongside makespan.

Composable by design

Services are building blocks. Mix a cloud, a batch queue, and three storage tiers in one scenario, and swap any of them out in a line of code.

C++, Python, and REST

Write simulators in C++ for speed, drive them from Python, or run WRENCH as a service behind its REST API.

Reproducible by default

Same inputs, same trace, same numbers — on your laptop, on a reviewer's laptop, three years from now.

Scale without a cluster

Thousands of hosts and tasks simulate in seconds to minutes on one machine — parameter sweeps become practical.

Who it's for

Three ways people use WRENCH

Researchers

Evaluate an idea in a week, not a year

Test scheduling, data-management, and resource-provisioning strategies at scales and in configurations no testbed will give you.

  • Controlled, repeatable experiments
  • Sweeps over platforms and workloads
  • Artifacts reviewers can actually rerun
See 45 published results

Educators

Teach distributed computing without a cluster

eduWRENCH turns WRENCH into 22 browser-based pedagogic modules — from first-year concepts to graduate coursework.

  • 22 ready-to-assign modules
  • 17 interactive simulators
  • No hardware, no accounts, no queue waits
Visit eduWRENCH

Developers

Model your runtime system before you refactor it

Build a digital twin of a workflow engine or resource manager and see what a design change does — long before it reaches users.

  • Simulate production WMS behaviour
  • Real workflow traces from WfCommons
  • Docker images and a REST API
Read the docs

Get started

Installed in minutes, not an afternoon

WRENCH is free software under the LGPLv3. Pull a Docker image with the toolchain already built, or compile from source if you plan to contribute.

Docker

The fastest route — WRENCH, SimGrid, and the toolchain already built.

docker pull wrenchproject/wrench:2.8
docker run -it wrenchproject/wrench:2.8
All tags

Build from source

Full control, and the way to go if you're contributing.

git clone https://github.com/wrench-project/wrench.git
cd wrench
mkdir build && cd build
cmake .. && make -j4
sudo make install

Requirements

SimGrid 4.1

Plus the SimGrid File System Module (FSMod) 0.4.

A C++14 compiler

g++ 7.5+ or clang 9.0+, driven by CMake 3.10 or higher.

JSON for Modern C++

Version 3.11.0 or higher.

Optional extras

Batsched for richer batch scheduling, Asio for the REST API daemon, Google Test and Doxygen for development.

The installation guide lists exact versions, per-platform package names, and troubleshooting steps. Want the bleeding edge? Clone master or pull wrenchproject/wrench:unstable.

Research

Cite WRENCH

When you use WRENCH, please cite the paper below — and do read it, it is the most complete overview of the framework.

BibTeX

@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},
  pages    = {162--175},
  year     = {2020},
  doi      = {10.1016/j.future.2020.05.030}
}

Plain-text reference

H. Casanova, R. Ferreira da Silva, R. Tanaka, S. Pandey, G. Jethwani,
W. Koch, S. Albrecht, J. Oeth, and F. Suter, "Developing Accurate and
Scalable Simulators of Production Workflow Management Systems with
WRENCH", Future Generation Computer Systems, vol. 112, p. 162-175, 2020.

They use WRENCH

45 published results, and counting

Since 2018, WRENCH has underpinned journal articles, conference and workshop papers, and doctoral theses across the workflows, HPC, and distributed computing communities — by our team and, increasingly, by groups we've never met.

Publications citing WRENCH

By year and venue type, 2018–2026

45 total
JournalConferenceWorkshopPhD ThesisReport
45

papers & theses citing WRENCH

41

of them built a WRENCH-based simulator

14

came from groups outside the project

2018

first published result, still growing every year

45 results

Published something with WRENCH? Send the paper to support@wrench-project.org and we'll add it to the list.

About us

The people behind WRENCH

A collaboration spanning the University of Hawaiʻi at Mānoa, Oak Ridge National Laboratory, the University of Southern California, and the French National Center for Scientific Research.

Why WRENCH exists

Real experiments on real cyberinfrastructure are expensive, slow, and rarely repeatable. Simulation solves that — but only if the models are trustworthy and the tooling doesn't cost a year of engineering. WRENCH exists so a researcher can ask a hard question about a distributed system and get a defensible answer in days.

It is open source under the LGPLv3 license, developed in the open, and shaped by the community that uses it.

Nine years, four institutions

Built and maintained in the open since 2017 by researchers, educators, and students across UHM, ORNL, USC, and CNRS.

  • 19contributors to date
  • 20releases since 2017
  • 45published results
  • LGPLv3free and open source

Current contributors

Henri Casanova

Henri Casanova

Professor of Computer Science at the University of Hawaiʻi at Mānoa, and member of the SimGrid team

Rafael Ferreira da Silva

Rafael Ferreira da Silva

Distinguished Research Scientist at the Oak Ridge National Laboratory

Frédéric Suter

Frédéric Suter

Senior Research Scientist at the Oak Ridge National Laboratory, and member of the SimGrid team

Loïc Pottier

Loïc Pottier

Research Scientist at the Lawrence Livermore National Laboratory

Previous contributors

15 students and researchers who shaped WRENCH along the way.

Funding

Since its inception in 2017, WRENCH has received continued support from the U.S. National Science Foundation and the French National Center for Scientific Research.

2019–2022 · NSF CyberTraining

Awards #1923539, #1923621 — behind eduWRENCH.

2017–2019 · NSF SI2-SSE

Awards #1642335, #1642369 — the grants that started the project.

2016–2018 · CNRS PICS

Award #07239

Start simulating

Your next experiment doesn't need a cluster

Install WRENCH-2.8, work through WRENCH 101, and have a running simulator this afternoon. It's free, it's LGPLv3, and the team answers questions.

Questions? support@wrench-project.org · Bugs and feature requests go to the issue tracker.