Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Micro-batch and data frequency for stream processing on multi-cores

Published: 09 January 2023 Publication History

Abstract

Latency or throughput is often critical performance metrics in stream processing. Applications’ performance can fluctuate depending on the input stream. This unpredictability is due to the variety in data arrival frequency and size, complexity, and other factors. Researchers are constantly investigating new ways to mitigate the impact of these variations on performance with self-adaptive techniques involving elasticity or micro-batching. However, there is a lack of benchmarks capable of creating test scenarios to further evaluate these techniques. This work extends and improves the SPBench benchmarking framework to support dynamic micro-batching and data stream frequency management. We also propose a set of algorithms that generates the most commonly used frequency patterns for benchmarking stream processing in related work. It allows the creation of a wide variety of test scenarios. To validate our solution, we use SPBench to create custom benchmarks and evaluate the impact of micro-batching and data stream frequency on the performance of Intel TBB and FastFlow. These are two libraries that leverage stream parallelism for multi-core architectures. Our results demonstrated that our test cases did not benefit from micro-batches on multi-cores. For different data stream frequency configurations, TBB ensured the lowest latency, while FastFlow assured higher throughput in shorter pipelines.

References

[1]
Das T, Zhong Y, Stoica I, Shenker S (2014) Adaptive stream processing using dynamic batch sizing. In: Proceedings of the ACM Symposium on Cloud Computing. SOCC’14. Association for Computing Machinery, New York, NY, USA, pp 1–13
[2]
Stein CM, Rockenbach DA, Griebler D, Torquati M, Mencagli G, Danelutto M, and Fernandes LG Latency-aware adaptive micro-batching techniques for streamed data compression on graphics processing units Concurr Comput Pract Exp 2020
[3]
Hirzel M, Soulé R, Schneider S, Gedik B, and Grimm R A catalog of stream processing optimizations ACM Comput Surv 2014
[4]
Herodotou H, Odysseos L, Lu J (2022) Automatic performance tuning for distributed data stream processing systems. In: 38TH IEEE International Conference on Data Engineering
[5]
Zhang Q, Song Y, Routray RR, Shi W (2016) Adaptive block and batch sizing for batched stream processing system. In: 2016 IEEE International Conference on Autonomic Computing (ICAC), pp 35–44.
[6]
Abdelhamid AS, Mahmood AR, Daghistani A, Aref WG (2020) Prompt: dynamic data-partitioning for distributed micro-batch stream processing systems. In: Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data. SIGMOD’20. ACM, New York, pp 2455–2469
[7]
Henning S and Hasselbring W Theodolite: scalability benchmarking of distributed stream processing engines in microservice architectures Big Data Res 2021 25
[8]
Li W, Zhang Z, Shu Y, Liu H, Liu T (2022) Toward optimal operator parallelism for stream processing topology with limited buffers. J Supercomput 1–22
[9]
Vogel A, Griebler D, Danelutto M, and Fernandes LG Self-adaptation on parallel stream processing: a systematic review Concurr Comput Pract Exp 2022 34 6 6759
[10]
Voss M, Asenjo R, and Reinders J Pro TBB: C++ parallel programming with threading building blocks 2019 New York Apress
[11]
Aldinucci M, Danelutto M, Kilpatrick P, and Torquati M Fastflow: high-level and efficient streaming on multicore 2017 Hoboken John Wiley & Sons Ltd 261-280
[12]
Garcia AM, Griebler D, Schepke C, Fernandes L.G (2021) Introducing a stream processing framework for assessing parallel programming interfaces. In: 29th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP). PDP’21. IEEE, Valladolid, pp 84–88.
[13]
Garcia AM, Griebler D, Schepke C, and Fernandes LG SPBench: a framework for creating benchmarks of stream processing applications Computing 2022
[14]
Garcia AM, Griebler D, Schepke C, Fernandes L.G (2022) Evaluating micro-batch and data frequency for stream processing applications on multi-cores. In: 30th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP). PDP’22. IEEE, Valladolid, pp 10–17.
[15]
Yao F, Wu J, Venkataramani G, and Subramaniam S Ts-batpro: Improving energy efficiency in data centers by leveraging temporal-spatial batching IEEE Trans Green Commun Netw 2019 3 1 236-249
[16]
De Sensi D, Torquati M, and Danelutto M A reconfiguration algorithm for power-aware parallel applications ACM Trans Archit Code Optim 2016
[17]
Bienia C, Kumar S, Singh J.P, Li K (2008) The parsec benchmark suite: characterization and architectural implications. In: Proceedings of the 17th International Conference on Parallel Architectures and Compilation Techniques, pp 72–81
[18]
Hesse G, Matthies C, Perscheid M, Uflacker M, Plattner H (2021) Espbench: the enterprise stream processing benchmark. In: ICPE ’21: Proceedings of the ACM/SPEC International Conference on Performance Engineering. ICPE ’21. Association for Computing Machinery, New York, pp 201–212.
[19]
Shukla A, Chaturvedi S, and Simmhan Y Riotbench: an IoT benchmark for distributed stream processing systems Concurr Comput Pract Exp 2017 29 21 4257
[20]
van Dongen G and Van den Poel D Evaluation of stream processing frameworks IEEE Trans Parallel Distrib Syst 2020 31 8 1845-1858
[21]
Wang L, Fu TZJ, Ma RTB, Winslett M, Zhang Z (2019) Elasticutor: rapid elasticity for realtime stateful stream processing. In: Proceedings of the 2019 International Conference on Management of Data. SIGMOD ’19. Association for Computing Machinery, Amsterdam, pp 573–588
[22]
Le-Phuoc D, Dao-Tran M, Pham M-D, Boncz P, Eiter T, Fink M (2012) Linked stream data processing engines: facts and figures. In: The Semantic Web—ISWC 2012. Springer, Berlin, pp 300–312
[23]
Karimov J, Rabl T, Katsifodimos A, Samarev R, Heiskanen H, Markl V (2018) Benchmarking distributed stream data processing systems. In: 2018 IEEE 34th International Conference on Data Engineering (ICDE), pp 1507–1518
[24]
Lobato AGP, Andreoni Lopez M, Cardenas AA, Duarte OCMB, and Pujolle G A fast and accurate threat detection and prevention architecture using stream processing Concurr Comput Pract Exp 2022 34 3 6561
[25]
Pagliari A, Huet F, Urvoy-Keller G (2020) Namb: a quick and flexible stream processing application prototype generator. In: 2020 20th IEEE/ACM International Symposium on Cluster, Cloud and Internet Computing (CCGRID), pp 61–70
[26]
Balkesen C, Tatbul N, Özsu MT (2013) Adaptive input admission and management for parallel stream processing. In: Proceedings of the 7th ACM International Conference on Distributed Event-Based Systems. DEBS ’13. Association for Computing Machinery, Arlington, pp 15–26
[27]
De Matteis T and Mencagli G Keep calm and react with foresight: strategies for low-latency and energy-efficient elastic data stream processing SIGPLAN Not 2016
[28]
Navarro A, Asenjo R, Tabik S, Cascaval C (2009) Analytical modeling of pipeline parallelism. In: 2009 18th International Conference on Parallel Architectures and Compilation Techniques, pp 281–290.
[29]
Bebortta S, Dalabehera AR, Pati B, Panigrahi CR, Nanda GR, Sahu B, and Senapati D An intelligent spatial stream processing framework for digital forensics amid the COVID-19 outbreak Smart Health 2022 26
[30]
Xu J, Palanisamy B, Wang Q, Ludwig H, and Gopisetty S Amnis: optimized stream processing for edge computing J Parallel Distrib Comput 2022 160 49-64
[31]
Ntumba P, Georgantas N, Christophides V (2022) Scheduling continuous operators for IoT edge analytics with time constraints. In: 2022 IEEE International Conference on Smart Computing (SMARTCOMP), pp 78–85.
[32]
Thies W, Amarasinghe S (2010) An empirical characterization of stream programs and its implications for language and compiler design. In: 2010 19th International Conference on Parallel Architectures and Compilation Techniques (PACT), pp 365–376
[33]
Welsh M, Culler D, Brewer E (2001) Seda: an architecture for well-conditioned, scalable internet services. In: Proceedings of the Eighteenth ACM Symposium on Operating Systems Principles. SOSP’01. ACM, New York, pp 230–243
[34]
Carney D, Çetintemel U, Rasin A, Zdonik S, Cherniack M, and Stonebraker M Freytag J-C, Lockemann P, Abiteboul S, Carey M, Selinger P, and Heuer A Operator scheduling in a data stream manager Proceedings 2003 VLDB Conference 2003 San Francisco Morgan Kaufmann 838-849
[35]
Imai S, Patterson S, Varela CA (2017) Maximum sustainable throughput prediction for data stream processing over public clouds. In: 2017 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID), pp 504–513.
[36]
Arkian H, Pierre G, Tordsson J, Elmroth E (2021) Model-based stream processing auto-scaling in geo-distributed environments. In: 2021 International Conference on Computer Communications and Networks (ICCCN), pp 1–10.
[37]
Imai S, Patterson S, Varela C.A.(2018) Uncertainty-aware elastic virtual machine scheduling for stream processing systems. In: 2018 18th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID), pp 62–71.
[38]
Chu Z, Yu J, and Hamdulla A Throughput prediction based on extratree for stream processing tasks Comput Sci Inf Syst 2021 18 1 1-22
[39]
Palyvos-Giannas D, Mencagli G, Papatriantafilou M, Gulisano V (2021) Lachesis: a middleware for customizing OS scheduling of stream processing queries. In: Proceedings of the 22nd International Middleware Conference. Middleware’21. Association for Computing Machinery, New York, pp 365–378.
[40]
Sun D, Cui Y, Wu M, Gao S, and Buyya R An energy efficient and runtime-aware framework for distributed stream computing systems Futur Gener Comput Syst 2022
[41]
Gedik B, Schneider S, Hirzel M, and Wu K-L Elastic scaling for data stream processing IEEE Trans Parallel Distrib Syst 2014 25 6 1447-1463
[42]
Russo G, Nardelli M, Cardellini V, and Lo Presti F Multi-level elasticity for wide-area data streaming systems: a reinforcement learning approach Algorithms 2018
[43]
Heinze T, Jerzak Z, Hackenbroich G, Fetzer C (2014) Latency-aware elastic scaling for distributed data stream processing systems. In: Proceedings of the 8th ACM International Conference on Distributed Event-Based Systems. DEBS’14. Association for Computing Machinery, New York, pp 13–22.
[44]
Mei Y, Cheng L, Talwar V, Levin MY, Jacques-Silva G, Simha N, Banerjee A, Smith B, Williamson T, Yilmaz S, Chen W, Chen GJ (2020) Turbine: Facebook’s service management platform for stream processing. In: 2020 IEEE 36th International Conference on Data Engineering (ICDE), pp 1591–1602.
[45]
Henning S, Hasselbring W (2021) How to measure scalability of distributed stream processing engines? In: Companion of the ACM/SPEC International Conference on Performance Engineering. ICPE’21. ACM, New York, pp 85–88
[46]
Griebler D, Danelutto M, Torquati M, and Fernandes LG SPar: a DSL for high-level and productive stream parallelism Parallel Process Lett 2017 27 01 1740005
[47]
Danelutto M, De Matteis T, Mencagli G, and Torquati M Data stream processing via code annotations J Supercomput 2018 74 11 5659-5673
[48]
Griebler D, Vogel A, De Sensi D, Danelutto M, and Fernandes LG Simplifying and implementing service level objectives for stream parallelism J Supercomput 2019 76 4603-4628
[49]
Fleisch D and Kinnaman L A student’s guide to waves 2015 Cambridge Cambridge University Press
[50]
Griebler D, Hoffmann RB, Danelutto M, and Fernandes LG Stream parallelism with ordered data constraints on multi-core systems J Supercomput 2018 75 8 4042-4061
[51]
MacDonald S, Szafron D, Schaeffer J (2004) Rethinking the pipeline as object-oriented states with transformations. In: Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments, 2004. Proceedings, pp 12–21.
[52]
Reinders J Intel threading building blocks: outfitting C++ for multi-core processor parallelism 2007 Sebastopol O’Reilly Media Inc

Cited By

View all
  • (2024)Performance and programmability of GrPPI for parallel stream processing on multi-coresThe Journal of Supercomputing10.1007/s11227-024-05934-z80:9(12966-13000)Online publication date: 1-Jun-2024

Recommendations

Comments

Information & Contributors

Information

Published In

cover image The Journal of Supercomputing
The Journal of Supercomputing  Volume 79, Issue 8
May 2023
1218 pages

Publisher

Kluwer Academic Publishers

United States

Publication History

Published: 09 January 2023
Accepted: 27 December 2022

Author Tags

  1. Parallel programming
  2. TBB
  3. FastFlow
  4. Benchmark
  5. Performance analysis
  6. Stream processing applications

Qualifiers

  • Research-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Performance and programmability of GrPPI for parallel stream processing on multi-coresThe Journal of Supercomputing10.1007/s11227-024-05934-z80:9(12966-13000)Online publication date: 1-Jun-2024

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media