Skip to main content

wke: A benchmarking tool for distributed systems

This tool can deploy and measure the behavior of distributed systems. However, it is not a general framework for running things on remote machines but tailored to the specific task of running experiments/benchmarks.

See this blogpost for a detailed description of wke.

Installation

You need a recent version of Python (the scripts were only tested with python3.10 and above) and pip.

Then, simply run make install to install the wke library and command.

Clusters and Configurations

A cluster is a set of machines (physical or virtual) that will be used to run experiments. Clusters groups machines into classes. Each class should represent a role in your distributed system. For example, a simple benchmark might have two classes: clients and servers.

A configuration is a set of scripts for a specific project (or variant of a project). You can set up multiple configurations for a single cluster.

Each configuration resides in a dedicated folder that has the following layout:

{CONFIG}/config.toml

A TOML file that describes all targets and settings specific to that configuration. Targets are scripts that can be run on machines of the cluster.

{CONFIG}/targets

Targets are scripts that execute as part of your experiment or to set up the experiment. For example, it could be script that runs your server process, or one that issues client requests.

You will execute them using the wke run command.

{CONFIG}/preludes

Preludes are not targets, but can help reducing boilerplate code in a target. For example, they can be used to export environment variables before running experiments.

In most cases as single engine file should suffice to run your experiments.

Release files for wke 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wke 0.1
File Size Uploaded
wke-0.1.tar.gz 40.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wke 0.1
File Interpreter ABI Platform
wke-0.1-py3-none-any.whl Python 3 none any Details

Total release size: 90.2 kB

Release files / wke-0.1.tar.gz

Download URL wke-0.1.tar.gz
Size 40.5 kB
Tags Source
SHA-256 checksum
How to use checksums
9bb02ecdaead3799f426df79c0beea5b22c7f83e4e1cc50d4dbc82bf017dca64
BLAKE2b-256 checksum
How to use checksums
57e0154e81cb320e1bb0ae7c344f759abbd521a8b735ccb2807ab628b8dac841
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.5

Release files / wke-0.1-py3-none-any.whl

Download URL wke-0.1-py3-none-any.whl
Size 49.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a4518d6c7474903be3e33a1f570ac20961b8dd0697439faed3153c0f342daeae
BLAKE2b-256 checksum
How to use checksums
6834a9fa2838a3bbf740463fe9c0b89ab211cd8cdc79f3456403e4d6b396bf11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.5

Release history Release notifications | RSS feed

This release

0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page