FlowGraph: Distributed temporal pattern detection over dynamically evolving graphs

Temporally evolving graphs are an indispensable requisite of modern-day big data processing pipelines. Existing graph processing systems mostly focus on static graphs and lack the essential support for pattern detection and event processing in graph-shaped data. On the other hand, stream processing systems support event and pattern detection, but they are inadequate for graph processing. This work lies at the intersection of the graph and stream processing domains with the following objectives: (i) It introduces the syntax of a language for the detection of temporal patterns in large-scale graphs. (ii) It presents a novel data structure called distributed label store (DLS) to efficiently store graph computation results and discover temporal patterns within them. The proposed system, called FlowGraph, unifies graph-shaped data with stream processing by observing graph changes as a stream flowing into the system. It provides an API to handle temporal patterns that predicate on the results of graph computations with traditional graph computations.

[1]  Peter R. Pietzuch,et al.  Graphtides: a framework for evaluating stream-based graph processing platforms , 2018, GRADES/NDA@SIGMOD/PODS.

[2]  Reynold Xin,et al.  GraphX: Graph Processing in a Distributed Dataflow Framework , 2014, OSDI.

[3]  Wenguang Chen,et al.  ImmortalGraph: A System for Storage and Analysis of Temporal Graphs , 2015, TOS.

[4]  Marko A. Rodriguez,et al.  The Graph Traversal Pattern , 2010, Graph Data Management.

[5]  Enhong Chen,et al.  Kineograph: taking the pulse of a fast-changing and connected world , 2012, EuroSys '12.

[6]  MargaraAlessandro,et al.  Streaming the Web , 2014 .

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

[8]  Frank Kargl,et al.  Chronograph: A Distributed Processing Platform for Online and Batch Computations on Event-sourced Graphs , 2017, DEBS.

[9]  Scott Shenker,et al.  Discretized streams: fault-tolerant streaming computation at scale , 2013, SOSP.

[10]  Wenguang Chen,et al.  Chronos: a graph engine for temporal graph analysis , 2014, EuroSys '14.

[11]  Alessandro Margara,et al.  Processing flows of information: From data stream to complex event processing , 2012, CSUR.

[12]  Tim Weninger,et al.  Thinking Like a Vertex , 2015, ACM Comput. Surv..

[13]  Vladimir Vlassov,et al.  High-Level Programming Abstractions for Distributed Graph Processing , 2016, IEEE Transactions on Knowledge and Data Engineering.

[14]  Claudio Gutierrez,et al.  Survey of graph database models , 2008, CSUR.

[15]  Ion Stoica,et al.  Time-evolving graph processing at scale , 2016, GRADES '16.

[16]  Aart J. C. Bik,et al.  Pregel: a system for large-scale graph processing , 2010, SIGMOD Conference.

[17]  Joseph Gonzalez,et al.  PowerGraph: Distributed Graph-Parallel Computation on Natural Graphs , 2012, OSDI.