An Adaptive Online Scheme for Scheduling and Resource Enforcement in Storm

As more and more applications need to analyze unbounded data streams in a real-time manner, data stream processing platforms, such as Storm, have drawn the attention of many researchers, especially the scheduling problem. However, there are still many challenges unnoticed or unsolved. In this paper, we propose and implement an adaptive online scheme to solve three important challenges of scheduling. First, how to make a scaling decision in a real-time manner to handle the fluctuant load without congestion? Second, how to minimize the number of affected workers during rescheduling while satisfying the resource demand of each instance? We also point out that the stateful instances should not be placed on the same worker with stateless instances. Third, currently, the application performance cannot be guaranteed because of resource contention even if the computation platform implements an optimal scheduling algorithm. In this paper, we realize resource isolation using Cgroup, and then the performance interference caused by resource contention is mitigated. We implement our scheduling scheme and plug it into Storm, and our experiments demonstrate in some respects our scheme achieves better performance than the state-of-the-art solutions.

[1]  P. Varaiya,et al.  A Phenomenological Approach to Internet Traffic Self-Similarity * , 1996 .

[2]  Jennifer Widom,et al.  STREAM: The Stanford Stream Data Manager , 2003, IEEE Data Eng. Bull..

[3]  Elke A. Rundensteiner,et al.  Dynamic plan migration for continuous queries over data streams , 2004, SIGMOD '04.

[4]  Ying Xing,et al.  The Design of the Borealis Stream Processing Engine , 2005, CIDR.

[5]  Navendu Jain,et al.  Design, implementation, and evaluation of the linear road bnchmark on the stream processing core , 2006, SIGMOD Conference.

[6]  Kun-Lung Wu,et al.  Elastic scaling of data parallel operators in stream processing , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[7]  Leonardo Neumeyer,et al.  S4: Distributed Stream Computing Platform , 2010, 2010 IEEE International Conference on Data Mining Workshops.

[8]  Alain Biem,et al.  IBM infosphere streams for scalable, real-time, intelligent transportation services , 2010, SIGMOD Conference.

[9]  Reginald D. Smith,et al.  The Dynamics of Internet Traffic: Self-Similarity, Self-Organization, and Complex Phenomena , 2008, Adv. Complex Syst..

[10]  Scott Shenker,et al.  Discretized Streams: An Efficient and Fault-Tolerant Model for Stream Processing on Large Clusters , 2012, HotCloud.

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

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

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

[14]  R. Donthi,et al.  Study of Delay and Loss Behavior of Internet Switch-Markovian Modelling Using Circulant Markov Modulated Poisson Process (CMMPP) , 2014 .

[15]  Jian Tang,et al.  T-Storm: Traffic-Aware Online Scheduling in Storm , 2014, 2014 IEEE 34th International Conference on Distributed Computing Systems.

[16]  Vincenzo Grassi,et al.  Distributed QoS-aware scheduling in storm , 2015, DEBS.

[17]  Richard T. B. Ma,et al.  Smooth Task Migration in Apache Storm , 2015, SIGMOD Conference.

[18]  Mohammad Hosseini,et al.  R-Storm: Resource-Aware Scheduling in Storm , 2015, Middleware.

[19]  Christopher E. Dabrowski,et al.  Catastrophic event phenomena in communication networks: A survey , 2015, Comput. Sci. Rev..

[20]  Valeria Cardellini,et al.  Elastic stateful stream processing in storm , 2016, 2016 International Conference on High Performance Computing & Simulation (HPCS).

[21]  Indranil Gupta,et al.  Stela: Enabling Stream Processing Systems to Scale-in and Scale-out On-demand , 2016, 2016 IEEE International Conference on Cloud Engineering (IC2E).

[22]  Vincenzo Grassi,et al.  Optimal operator placement for distributed stream processing applications , 2016, DEBS.

[23]  Vincenzo Grassi,et al.  Optimal Operator Replication and Placement for Distributed Stream Processing Systems , 2017, PERV.

[24]  Jianneng Cao,et al.  Integrative Dynamic Reconfiguration in a Parallel Stream Processing Engine , 2016, ICDE.

[25]  Rajkumar Buyya,et al.  E-Storm: Replication-Based State Management in Distributed Stream Processing Systems , 2017, 2017 46th International Conference on Parallel Processing (ICPP).

[26]  Nicolas Hidalgo,et al.  Self-adaptive processing graph with operator fission for elastic stream processing , 2017, J. Syst. Softw..

[27]  Ce-Kuen Shieh,et al.  A topology-based scaling mechanism for Apache Storm , 2017, Int. J. Netw. Manag..

[28]  Yin Yang,et al.  DRS: Auto-Scaling for Real-Time Stream Analytics , 2017, IEEE/ACM Transactions on Networking.

[29]  Nicolas Lumineau,et al.  A Preventive Auto-Parallelization Approach for Elastic Stream Processing , 2017, 2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS).

[30]  Tiziano De Matteis,et al.  Proactive elasticity and energy awareness in data stream processing , 2017, J. Syst. Softw..

[31]  Valeria Cardellini,et al.  Decentralized self-adaptation for elastic Data Stream Processing , 2018, Future Gener. Comput. Syst..

[32]  Weng-Fai Wong,et al.  Gloss: Seamless Live Reconfiguration and Reoptimization of Stream Programs , 2018, ASPLOS.

[33]  Marco Danelutto,et al.  Elastic-PPQ: A two-level autonomic system for spatial preference query processing over dynamic data streams , 2018, Future Gener. Comput. Syst..

[34]  Thomas Plagemann,et al.  Mobile Distributed Complex Event Processing - Ubi Sumus? Quo Vadimus? , 2018, Mobile Big Data.

[35]  Boris Koldehofe,et al.  TCEP: Adapting to Dynamic User Environments by Enabling Transitions between Operator Placement Mechanisms , 2018, DEBS.

[36]  Yogesh L. Simmhan,et al.  Toward Reliable and Rapid Elasticity for Streaming Dataflows on Clouds , 2018, 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS).

[37]  Volker Markl,et al.  A survey of state management in big data processing systems , 2017, The VLDB Journal.

[38]  Silvia Bonomi,et al.  Elastic Symbiotic Scaling of Operators and Resources in Stream Processing Systems , 2018, IEEE Transactions on Parallel and Distributed Systems.

[39]  Rajkumar Buyya,et al.  A Stepwise Auto-Profiling Method for Performance Optimization of Streaming Applications , 2017, ACM Trans. Auton. Adapt. Syst..

[40]  Valeria Cardellini,et al.  Optimal operator deployment and replication for elastic distributed data stream processing , 2018, Concurr. Comput. Pract. Exp..