Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
156 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
45 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Daedalus: Self-Adaptive Horizontal Autoscaling for Resource Efficiency of Distributed Stream Processing Systems (2403.02093v2)

Published 4 Mar 2024 in cs.DC

Abstract: Distributed Stream Processing (DSP) systems are capable of processing large streams of unbounded data, offering high throughput and low latencies. To maintain a stable Quality of Service (QoS), these systems require a sufficient allocation of resources. At the same time, over-provisioning can result in wasted energy and high operating costs. Therefore, to maximize resource utilization, autoscaling methods have been proposed that aim to efficiently match the resource allocation with the incoming workload. However, determining when and by how much to scale remains a significant challenge. Given the long-running nature of DSP jobs, scaling actions need to be executed at runtime, and to maintain a good QoS, they should be both accurate and infrequent. To address the challenges of autoscaling, the concept of self-adaptive systems is particularly fitting. These systems monitor themselves and their environment, adapting to changes with minimal need for expert involvement. This paper introduces Daedalus, a self-adaptive manager for autoscaling in DSP systems, which draws on the principles of self-adaption to address the challenge of efficient autoscaling. Daedalus monitors a running DSP job and builds performance models, aiming to predict the maximum processing capacity at different scale-outs. When combined with time series forecasting to predict future workloads, Daedalus proactively scales DSP jobs, optimizing for maximum throughput and minimizing both latencies and resource usage. We conducted experiments using Apache Flink and Kafka Streams to evaluate the performance of Daedalus against two state-of-the-art approaches. Daedalus was able to achieve comparable latencies while reducing resource usage by up to 71%.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (24)
  1. DSPBench: A Suite of Benchmark Applications for Distributed Data Stream Processing Systems. IEEE Access 8 (2020).
  2. Minimizing Cost by Reducing Scaling Operations in Distributed Stream Processing. Proc. VLDB Endow. 12 (2019).
  3. Apache flink: Stream and batch processing in a single engine. Data Engineering Bulletin (2015).
  4. Run-time Adaptation of Data Stream Processing Systems: The State of the Art. ACM Computing Surveys (CSUR) (2022).
  5. To Adapt or Not to Adapt?: Technical Debt and Learning Driven Self-Adaptation for Managing Runtime Performance. In ICPE. ACM.
  6. Benchmarking Streaming Computation Engines: Storm, Flink and Spark Streaming. In IPDPS. IEEE Computer Society.
  7. John M. Ewing and Daniel A. Menascé. 2014. A meta-controller method for improving run-time self-architecting in SOA systems. In ICPE. ACM.
  8. Dhalion: Self-Regulating Stream Processing in Heron. Proc. VLDB Endow. 10 (2017).
  9. Khaos: Dynamically Optimizing Checkpointing for Dependable Distributed Stream Processing. In FedCSIS.
  10. Phoebe: QoS-Aware Distributed Stream Processing through Anticipating Dynamic Workloads. In ICWS. IEEE.
  11. Evaluation of Load Prediction Techniques for Distributed Stream Processing. In IC2E. IEEE.
  12. Auto-scaling techniques for elastic data stream processing. In DEBS. ACM.
  13. Three steps is all you need: fast, accurate, automatic scaling decisions for distributed streaming dataflows. In OSDI. USENIX Association.
  14. Faria Kalim et al. 2019. Caladrius: A Performance Modelling Service for Distributed Stream Processing Systems. In ICDE. IEEE.
  15. User-Constraint and Self-Adaptive Fault Tolerance for Event Stream Processing Systems. In DSN. IEEE Computer Society.
  16. Diego Perez-Palacin and Raffaela Mirandola. 2014. Uncertainties in the modeling of self-adaptive systems: a taxonomy and an example of availability evaluation. In ICPE. ACM.
  17. TESS: Automated Performance Evaluation of Self-Healing and Self-Adaptive Distributed Software Systems. In ICPE. ACM.
  18. Henriette Röger and Ruben Mayer. 2019. A Comprehensive Survey on Parallelization and Elasticity in Stream Processing. ACM Computing Surveys (CSUR) 52 (2019).
  19. Streams and Tables: Two Sides of the Same Coin. In BIRTE. ACM.
  20. G. van Dongen and D. Van den Poel. 2020. Evaluation of Stream Processing Frameworks. IEEE Transactions on Parallel and Distributed Systems 31, 8 (2020).
  21. Self‐adaptation on parallel stream processing: A systematic review. Concurrency and Computation: Practice and Experience 34 (2022).
  22. B. P. Welford. 1962. Note on a Method for Calculating Corrected Sums of Squares and Products. Technometrics 4 (1962).
  23. Apache Spark: A Unified Engine for Big Data Processing. Commun. ACM (2016).
  24. AuTraScale: An Automated and Transfer Learning Solution for Streaming System Auto-Scaling. In IPDPS. IEEE.
Citations (1)

Summary

We haven't generated a summary for this paper yet.