# Kollaps: Decentralized and Dynamic Topology Emulation

**Authors:** Paulo Gouveia, João Neves, Carlos Segarra, Luca Liechti, Shady Issa, Valerio Schiavoni, Miguel Matos  
**arXiv:** [2004.02253](https://arxiv.org/abs/2004.02253)  
**Date:** 2020-04-05  
**Summary page:** https://www.summarizepaper.com/en/paper/2004.02253v1/

## Key points

- Network properties (latency, bandwidth, packet loss, jitter) are crucial in determining performance and behavior of large-scale distributed applications.
- Engineers struggle with understanding how network latency impacts application response time and how geographical cluster movement affects application throughput.
- Existing network emulation tools like MiniNet, CrystalNet, and EmuLab have limitations in scalability or focus on specific aspects of the network.
- Kollaps is a fully distributed network emulator that addresses challenges by prioritizing emergent end-to-end properties over internal router and switch states when modeling networks for applications.
- Kollaps ensures maintainability in a decentralized manner, enabling scalability with an increasing number of machines in an application.
- The tool is fully decentralized and agnostic to application language and transport protocol, allowing seamless scaling to thousands of processes while maintaining accuracy comparable to bare-metal deployments or other state-of-the-art emulation approaches.
- Kollaps accurately replicates results from existing literature and predicts complex behaviors of unmodified distributed systems like Cassandra under various deployment scenarios.
- Tools like Kollaps are essential for systematically assessing and reproducing evaluations of large-scale applications amidst the reproducibility crisis facing the systems community during conference deadlines.

## Summary

In the world of large-scale distributed applications, network properties such as latency, bandwidth, packet loss, and jitter play a crucial role in determining performance and behavior. Engineers often struggle with questions like how increased network latency affects application response time or how moving a cluster between geographical regions impacts application throughput. However, answering these questions in a systematic and reproducible manner is challenging due to the variability and lack of control over the underlying network. Existing network emulation tools like MiniNet, CrystalNet, and EmuLab have their limitations - either scaling poorly or focusing solely on the control-plane or ignoring network dynamics altogether. In light of these shortcomings, Kollaps emerges as a fully distributed network emulator that effectively addresses these challenges. Key to Kollaps' success are two fundamental observations. Firstly, it prioritizes emergent end-to-end properties (such as latency and bandwidth) over internal router and switch states when modeling networks for applications. This approach allows for a simpler yet dynamically adaptable emulation model that doesn't require maintaining the full network state. Secondly, Kollaps ensures maintainability in a fully decentralized manner, enabling scalability with an increasing number of machines in an application. Being fully decentralized and agnostic to application language and transport protocol sets Kollaps apart by seamlessly scaling to thousands of processes while maintaining accuracy comparable to bare-metal deployments or other state-of-the-art emulation approaches. The tool has been demonstrated to accurately replicate results from existing literature and predict complex behaviors of unmodified distributed systems like Cassandra under various deployment scenarios. Moreover, amidst the reproducibility crisis facing the systems community due to uncontrollable experimental conditions and overloaded research testbeds during conference deadlines, tools like Kollaps become essential for systematically assessing and reproducing evaluations of large-scale applications. By offering full control over system and environment through simulation or network emulation models that replicate real-world behavior accurately without compromising scalability or accuracy, Kollaps paves the way for more reliable evaluations in large-scale distributed systems research.
