What is Kollaps?
Kollaps is a scalable network emulator that allows to evaluate the behavior of distributed systems/applications on an arbitrary network. In detail, Kollaps has the following features:
- Support for running experiments in containers (Docker and Kubernetes), Virtual Machines, and baremetal.
- Support for emulating bandwidth, latency, jitter, packet loss and link flapping, among others.
- Support for dynamic events, such as removing a node from the network.
- Emulation of path congestion.
- Easy to use - Kollaps can be easily integrated in existing deployments.
- Scalable to thousands of nodes.
- Efficient, with very low resource usage.
Overview
Getting started with Kollaps is very simple, and it involves three steps:
- Define the network topology.
- Deploy the experiment in your existing testbed, whether you are using containers, virtual machines or baremetal.
- Execute the experiment and collect the results.
Get Started
For further instructions and to try Kollaps we recommend you check the Installation tutorial, then the Topology Description, and finally to run your experiments How to Run.
Requirements
- Linux kernel version > 5.15.0.
- Kollaps code is available at github.
Papers and Talks describing Kollaps
- Eurosys 2020 - Kollaps: decentralized and dynamic topology emulation
- SRDS 2019 - THUNDERSTORM: a tool to evaluate dynamic network topologies on distributed systems
Tutorials and talks
- Kollaps/Thunderstorm: Reproducible Evaluation of Distributed Systems
- Eurosys 2020 Technical Talk
- DAIS 2020 Tutorial
Papers/systems using Kollaps
- Efficient Consensus-Free Weight Reassignment for Atomic Storage, NCA 2021
- NimbleChain: Speeding up Cryptocurrencies in General-purpose Permissionless Blockchains, Distributed Ledger Technologies: Research and Practice 2023
- Kauri: Scalable BFT Consensus with Pipelined Tree-Based Dissemination and Aggregation, SOSP ‘21
- Efficient Consensus-Free Weight Reassignment for Atomic Storage (Extended Version)
- Chasing the Speed of Light: Low-Latency Planetary-Scale Adaptive Byzantine Consensus
Team
If you want your paper added to this list, get in touch with us, and we will be happy to add it.
Team
Kollaps is the work of many researchers and engineers over the years. The current team is:
- Sebastião Amaro
- Miguel Matos
- Valerio Schiavoni
Previous team members:
- João Neves
- Paulo Gouveia
- Shady Issa
- Luca Lietchi
- Carlos Segarra
Code and Issues
If you have any problems you can contact us or create an issue in github.