Litcius/Paper detail

Evaluation of Stream Processing Frameworks

Giselle van Dongen, Dirk Van den Poel

2020IEEE Transactions on Parallel and Distributed Systems98 citationsDOI

Abstract

The increasing need for real-time insights in data sparked the development of multiple stream processing frameworks. Several benchmarking studies were conducted in an effort to form guidelines for identifying the most appropriate framework for a use case. In this article, we extend this research and present the results gathered. In addition to Spark Streaming and Flink, we also include the emerging frameworks Structured Streaming and Kafka Streams. We define four workloads with custom parameter tuning. Each of these is optimized for a certain metric or for measuring performance under specific scenarios such as bursty workloads. We analyze the relationship between latency, throughput, and resource consumption and we measure the performance impact of adding different common operations to the pipeline. To ensure correct latency measurements, we use a single Kafka broker. Our results show that the latency disadvantages of using a micro-batch system are most apparent for stateless operations. With more complex pipelines, customized implementations can give event-driven frameworks a large latency advantage. Due to its micro-batch architecture, Structured Streaming can handle very high throughput at the cost of high latency. Under tight latency SLAs, Flink sustains the highest throughput. Additionally, Flink shows the least performance degradation when confronted with periodic bursts of data. When a burst of data needs to be processed right after startup, however, micro-batch systems catch up faster while event-driven systems output the first events sooner.

Topics & Concepts

Computer scienceLatency (audio)Stream processingThroughputImplementationDistributed computingBenchmarkingData stream miningPipeline (software)SPARK (programming language)Real-time computingScheduling (production processes)Operating systemData miningWirelessSoftware engineeringEconomicsProgramming languageMarketingOperations managementTelecommunicationsBusinessCloud Computing and Resource ManagementData Stream Mining TechniquesAdvanced Database Systems and Queries
Evaluation of Stream Processing Frameworks | Litcius