Elastic Symbiotic Scaling of Operators and Resources in Stream Processing Systems

Distributed stream processing frameworks are designed to perform continuous computation on possibly unbounded data streams whose rates can change over time. Devising solutions to make such systems elastically scale is a fundamental goal to achieve desired performance and cut costs caused by resource over-provisioning. These systems can be scaled along two dimensions: the operator parallelism and the number of resources. In this paper, we show how these two dimensions, as two symbiotic entities, are independent but must mutually interact for the global benefit of the system. On the basis of this observation, we propose a fine-grained model for estimating the resource utilization of a stream processing application that enables the independent scaling of operators and resources. A simple, yet effective, combined management of the two dimensions allows us to propose ELYSIUM, a novel elastic scaling approach that provides efficient resource utilization. We implemented the proposed approach within Apache Storm and tested it by running two real-world applications with different input load curves. The outcomes backup our claims showing that the proposed symbiotic management outperforms elastic scaling strategies where operators and resources are jointly scaled.

[1]  Kun-Lung Wu,et al.  Modeling stream processing applications for dependability evaluation , 2011, 2011 IEEE/IFIP 41st International Conference on Dependable Systems & Networks (DSN).

[2]  Kun-Lung Wu,et al.  Elastic Scaling for Data Stream Processing , 2014, IEEE Transactions on Parallel and Distributed Systems.

[3]  Raul Castro Fernandez,et al.  Integrating scale out and fault tolerance in stream processing using operator state management , 2013, SIGMOD '13.

[4]  Bruno Sericola,et al.  Efficient key grouping for near-optimal load balancing in stream processing systems , 2015, DEBS.

[5]  Claudio Soriente,et al.  StreamCloud: An Elastic and Scalable Data Streaming System , 2012, IEEE Transactions on Parallel and Distributed Systems.

[6]  Peter Dayan,et al.  Q-learning , 1992, Machine Learning.

[7]  Gianmarco De Francisci Morales,et al.  The power of both choices: Practical load balancing for distributed stream processing engines , 2015, 2015 IEEE 31st International Conference on Data Engineering.

[8]  M. S. Kamel Neural networks: the state of the art , 2000, ICM'99. Proceedings. Eleventh International Conference on Microelectronics (IEEE Cat. No.99EX388).

[9]  Martin Hirzel,et al.  Tutorial: stream processing optimizations , 2013, DEBS.

[10]  Rajeev Motwani,et al.  Operator scheduling in data stream systems , 2004, VLDB 2004.

[11]  Samuel Kounev,et al.  Elasticity in Cloud Computing: What It Is, and What It Is Not , 2013, ICAC.

[12]  Yixin Diao,et al.  Feedback Control of Computing Systems , 2004 .

[13]  Allegra Mullan,et al.  Storm , 2019, The Keats-Shelley Review.

[14]  José Antonio Lozano,et al.  A Review of Auto-scaling Techniques for Elastic Applications in Cloud Environments , 2014, Journal of Grid Computing.

[15]  Robert Grimm,et al.  A catalog of stream processing optimizations , 2014, ACM Comput. Surv..

[16]  Michael Y. Hu,et al.  Forecasting with artificial neural networks: The state of the art , 1997 .

[17]  Bruno Sericola,et al.  Online Scheduling for Shuffle Grouping in Distributed Stream Processing Systems , 2016, Middleware.

[18]  Roberto Baldoni,et al.  Adaptive online scheduling in storm , 2013, DEBS.

[19]  Bruno Sericola,et al.  Proactive Online Scheduling for Shuffle Grouping in Distributed Stream Processing Systems , 2015 .

[20]  Thomas S. Heinze,et al.  Cloud-based data stream processing , 2014, DEBS '14.

[21]  Toyotaro Suzumura,et al.  Elastic Stream Computing with Clouds , 2011, 2011 IEEE 4th International Conference on Cloud Computing.

[22]  Roberto Baldoni,et al.  An Architecture for Automatic Scaling of Replicated Services , 2014, NETYS.

[23]  Martin A. Riedmiller,et al.  A direct adaptive method for faster backpropagation learning: the RPROP algorithm , 1993, IEEE International Conference on Neural Networks.

[24]  Tore Risch,et al.  Massive scale-out of expensive continuous queries , 2011, Proc. VLDB Endow..

[25]  Thomas S. Heinze,et al.  Online parameter optimization for elastic data stream processing , 2015, SoCC.

[26]  Christof Fetzer,et al.  Auto-scaling techniques for elastic data stream processing , 2014, 2014 IEEE 30th International Conference on Data Engineering Workshops.