# Benchmarking Distributed Stream Data Processing Systems

arXiv: https://arxiv.org/abs/1802.08496 · HTML: https://mlsanity.com/paper/1802.08496/

## Key facts

- Cited by 6 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 23 Feb 2018.

## Built on by (most cited first, 6 of 6)

- [Raising the ClaSS of Streaming Time Series Segmentation](https://mlsanity.com/paper/2310.20431/) (2023)
- [I-DLV-sr: A Stream Reasoning System based on I-DLV](https://mlsanity.com/paper/2108.02797/) (2021)
- [TensAIR: Real-Time Training of Neural Networks from Data-streams](https://mlsanity.com/paper/2211.10280/) (2022)
- [EdgeServe: A Streaming System for Decentralized Model Serving](https://mlsanity.com/paper/2303.08028/) (2023)
- [COSTREAM: Learned Cost Models for Operator Placement in Edge-Cloud Environments](https://mlsanity.com/paper/2403.08444/) (2024)
- [Dynamic hashtag recommendation in social media with trend shift detection and adaptation](https://mlsanity.com/paper/2504.00044/) (2025)

## Abstract (arXiv)

The need for scalable and efficient stream analysis has led to the development of many open-source streaming data processing systems (SDPSs) with highly diverging capabilities and performance characteristics. While first initiatives try to compare the systems for simple workloads, there is a clear gap of detailed analyses of the systems' performance characteristics. In this paper, we propose a framework for benchmarking distributed stream processing engines. We use our suite to evaluate the performance of three widely used SDPSs in detail, namely Apache Storm, Apache Spark, and Apache Flink. Our evaluation focuses in particular on measuring the throughput and latency of windowed operations, which are the basic type of operations in stream analytics. For this benchmark, we design workloads based on real-life, industrial use-cases inspired by the online gaming industry. The contribution of our work is threefold. First, we give a definition of latency and throughput for stateful operators. Second, we carefully separate the system under test and driver, in order to correctly represent the open world model of typical stream processing deployments and can, therefore, measure system performance under realistic conditions. Third, we build the first benchmarking framework to define and test the sustainable performance of streaming systems. Our detailed evaluation highlights the individual characteristics and use-cases of each system.
