Viper: A module for communication-layer determinism and scaling in low-latency stream processing

Abstract Stream Processing Engines (SPEs) process continuous streams of data and produce results in a real-time fashion, typically through one-at-a-time tuple analysis. In Fog architectures, the limited resources of the edge devices, enabling close-to-the-source scalable analysis, demand for computationally- and energy-efficient SPEs. When looking into the vital SPE processing properties required from applications, determinism, which ensures consistent results independently of the way the analysis is parallelized, has a strong position besides scalability in throughput and low processing latency. SPEs scale in throughput and latency by relying on shared-nothing parallelism, deploying multiple copies of each operator to which tuples are distributed based on its semantics. The coordination of the asynchronous analysis of parallel operators required to enforce determinism is then carried out by additional dedicated sorting operators. To prevent this costly coordination from becoming a bottleneck, we introduce the Viper communication module, which can be integrated in the SPE communication layer and boost the coordination of the parallel threads analyzing the data. Using Apache Storm and data extracted from the Linear Road benchmark and a real-world smart grid system, we show benefits in the throughput, latency and energy efficiency coming from the utilization of the Viper module.

[1]  Tiziano De Matteis,et al.  Keep calm and react with foresight: strategies for low-latency and energy-efficient elastic data stream processing , 2016, PPoPP.

[2]  Kun-Lung Wu,et al.  Safe Data Parallelism for General Streaming , 2015, IEEE Transactions on Computers.

[3]  Philip S. Yu,et al.  CellJoin: a parallel stream join operator for the cell processor , 2009, The VLDB Journal.

[4]  Vincenzo Gulisano,et al.  StreamCloud: An Elastic Parallel-Distributed Stream Processing Engine. (StreamCloud: un moteur de traitement de streams parallèle et distribué) , 2013 .

[5]  Theodore Johnson,et al.  A Heartbeat Mechanism and Its Application in Gigascope , 2005, VLDB.

[6]  Michael Stonebraker,et al.  Aurora: a new model and architecture for data stream management , 2003, The VLDB Journal.

[7]  Gerhard Wellein,et al.  LIKWID: A Lightweight Performance-Oriented Tool Suite for x86 Multicore Environments , 2010, 2010 39th International Conference on Parallel Processing Workshops.

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

[9]  Christof Fetzer,et al.  Quality-Driven Continuous Query Execution over Out-of-Order Data Streams , 2015, SIGMOD Conference.

[10]  Seif Haridi,et al.  Apache Flink™: Stream and Batch Processing in a Single Engine , 2015, IEEE Data Eng. Bull..

[11]  Marina Papatriantafilou,et al.  Concurrent data structures for efficient streaming aggregation , 2014, SPAA.

[12]  Joseph M. Hellerstein,et al.  Flux: an adaptive partitioning operator for continuous query systems , 2003, Proceedings 19th International Conference on Data Engineering (Cat. No.03CH37405).

[13]  R. Karp,et al.  Properties of a model for parallel computations: determinacy , 1966 .

[14]  Jens Teubner,et al.  How soccer players would do stream joins , 2011, SIGMOD '11.

[15]  Michael Stonebraker,et al.  Fault-tolerance in the borealis distributed stream processing system , 2008, ACM Trans. Database Syst..

[16]  Peter R. Pietzuch,et al.  THEMIS: Fairness in Federated Stream Processing under Overload , 2016, SIGMOD Conference.

[17]  Michael Stonebraker,et al.  Linear Road: A Stream Data Management Benchmark , 2004, VLDB.

[18]  Marina Papatriantafilou,et al.  Efficient Data Streaming Multiway Aggregation through Concurrent Algorithmic Designs and New Abstract Data Types , 2016, ACM Trans. Parallel Comput..

[19]  Alexander L. Wolf,et al.  SABER: Window-Based Hybrid Stream Processing for Heterogeneous Architectures , 2016, SIGMOD Conference.

[20]  Kun-Lung Wu,et al.  Auto-parallelizing stateful distributed streaming applications , 2012, 2012 21st International Conference on Parallel Architectures and Compilation Techniques (PACT).

[21]  Marina Papatriantafilou,et al.  Deterministic real-time analytics of geospatial data streams through ScaleGate objects , 2015, DEBS.

[22]  Qiming Chen,et al.  Aeolus: An optimizer for distributed intra-node-parallel streaming systems , 2013, 2013 IEEE 29th International Conference on Data Engineering (ICDE).

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

[24]  Angelos Bilas,et al.  Understanding and improving the cost of scaling distributed event processing , 2012, DEBS.

[25]  Guy E. Blelloch,et al.  Internally deterministic parallel algorithms can be fast , 2012, PPoPP '12.

[26]  Kun-Lung Wu,et al.  Evaluation of streaming aggregation on parallel hardware architectures , 2010, DEBS '10.

[27]  Marina Papatriantafilou,et al.  A Study of the Behavior of Synchronization Methods in Commonly Used Languages and Systems , 2013, 2013 IEEE 27th International Symposium on Parallel and Distributed Processing.

[28]  Patrick Valduriez,et al.  StreamCloud: A Large Scale Data Streaming System , 2010, 2010 IEEE 30th International Conference on Distributed Computing Systems.

[29]  Beng Chin Ooi,et al.  Parallelizing stateful operators in a distributed stream processing system: how, should you and how much? , 2012, DEBS.

[30]  Marina Papatriantafilou,et al.  ScaleJoin: a Deterministic, Disjoint-Parallel and Skew-Resilient Stream Join , 2014 .

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

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