Quantitative Impact Evaluation of an Abstraction Layer for Data Stream Processing Systems
arXiv:1907.08302 · doi:10.1109/ICDCS.2019.00137
Abstract
With the demand to process ever-growing data volumes, a variety of new data stream processing frameworks have been developed. Moving an implementation from one such system to another, e.g., for performance reasons, requires adapting existing applications to new interfaces. Apache Beam addresses these high substitution costs by providing an abstraction layer that enables executing programs on any of the supported streaming frameworks. In this paper, we present a novel benchmark architecture for comparing the performance impact of using Apache Beam on three streaming frameworks: Apache Spark Streaming, Apache Flink, and Apache Apex. We find significant performance penalties when using Apache Beam for application development in the surveyed systems. Overall, usage of Apache Beam for the examined streaming applications caused a high variance of query execution times with a slowdown of up to a factor of 58 compared to queries developed without the abstraction layer. All developed benchmark artifacts are publicly available to ensure reproducible results.
References in corpus (2)
Cited by in corpus (9)
- DEFECTCHECKER: Automated Smart Contract Defect Detection by Analyzing EVM Bytecode
- Demystifying DeFi MEV Activities in Flashbots Bundle
- SigRec: Automatic Recovery of Function Signatures in Smart Contracts
- Maintaining Smart Contracts on Ethereum: Issues, Techniques, and Future Challenges
- Towards a First Step to Understand the Cryptocurrency Stealing Attack on Ethereum
- XBlock-ETH: Extracting and Exploring Blockchain Data From Ethereum
- XBlock-EOS: Extracting and Exploring Blockchain Data From EOSIO
- Nurgle: Exacerbating Resource Consumption in Blockchain State Storage via MPT Manipulation
- Time-Travel Investigation: Towards Building A Scalable Attack Detection Framework on Ethereum