Automatic Algorithm Transformation for Efficient Multi-Snapshot Analytics on Temporal Graphs

@article{Then2017AutomaticAT,
  title={Automatic Algorithm Transformation for Efficient Multi-Snapshot Analytics on Temporal Graphs},
  author={Manuel Then and Timo Kersten and Stephan G{\"u}nnemann and Alfons Kemper and Thomas Neumann},
  journal={Proc. VLDB Endow.},
  year={2017},
  volume={10},
  pages={877-888}
}
Analytical graph algorithms commonly compute metrics for a graph at one point in time. In practice it is often also of interest how metrics change over time, e.g., to find trends. For this purpose, algorithms must be executed for multiple graph snapshots. We present Single Algorithm Multiple Snapshots (SAMS), a novel approach to execute algorithms concurrently for multiple graph snapshots. SAMS automatically transforms graph algorithms to leverage similarities between the analyzed graph… 

Figures and Tables from this paper

Optimizing the interval-centric distributed computing model for temporal graph algorithms
TLDR
This work proposes local optimizations within a vertex execution by unrolling messages before TimeWarp (LU), and deferring messaging till all local computations complete (DS), and temporally partition the interval graph into windows (WICM) to flatten the execution load.
An Interval-centric Model for Distributed Computing over Temporal Graphs
TLDR
This work proposes an interval-centric computing model (ICM) for distributed and iterative processing of temporal graphs, where a vertex’s time-interval is a unit of data-parallel computation and introduces a unique time-warp operator for temporal partitioning and grouping of messages that hides the complexity of designing temporal algorithms.
GraphOne: A Data Store for Real-time Analytics on Evolving Graphs
TLDR
GraphOne is designed and developed, a graph data store that abstracts thegraph data store away from the specialized systems to solve the fundamental research problems associated with the data store design and presents a new data abstraction, GraphView, to enable data access at two different granularities of data ingestions.
SAGA-Bench: Software and Hardware Characterization of Streaming Graph Analytics Workloads
  • Abanti Basak, Jilan Lin, Yuan Xie
  • Computer Science
    2020 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)
  • 2020
TLDR
This paper develops and open-source SAGA-Bench, a benchmark for streaming graph analytics, and performs workload characterization at the architecture level, revealing that the graph update phase exhibits lower utilization of architecture resources than the compute phase.
GraphOne
TLDR
GraphOne is designed and developed, a graph data store that abstracts thegraph data store away from the specialized systems to solve the fundamental research problems associated with the data store design and presents a new data abstraction, GraphView, to enable data access at two different granularities of data ingestions.
Provably Efficient and Scalable Shared-Memory Graph Algorithms
TLDR
A new graph-streaming system called Aspen is proposed, and it is shown that using Aspen, one can concurrently update and analyze the WebDataCommons hyperlink graph on a single commodity multicore machine with a terabyte of main memory.
Graphsurge
TLDR
This paper presents the design and implementation of a new opensource view-based graph analytics system called Graphsurge, designed to support applications that analyze multiple snapshots or views of a large-scale graph, and presents two optimization problems that naturally arise in the setting.
Practice of Streaming and Dynamic Graphs: Concepts, Models, Systems, and Parallelism
TLDR
This work provides the first analysis and taxonomy of dynamic and streaming graph processing, focusing on identifying the fundamental system designs and on understanding their support for concurrency and parallelism, and for different graph updates as well as analytics workloads.
Low-latency graph streaming using compressed purely-functional trees
TLDR
This paper designs theoretically-efficient and practical algorithms for performing batch updates to C-trees, and shows that it can store massive dynamic real-world graphs using only a few bytes per edge, thereby achieving space usage close to that of the best static graph processing frameworks.
Historical Graphs: Models, Storage, Processing
TLDR
This chapter presents logical and physical models, query types, systems and algorithms for managing historical graphs, and highlights promising directions for future work.
...
1
2
3
...

References

SHOWING 1-10 OF 26 REFERENCES
Chronos: a graph engine for temporal graph analysis
TLDR
The result is a high-performance temporal-graph system that offers up to an order of magnitude speedup for temporal iterative graph mining compared to a straightforward application of existing graph engines on a series of snapshots.
The More the Merrier: Efficient Multi-Source Graph Traversal
TLDR
This paper proposes Multi-Source BFS, an algorithm that is designed to run multiple concurrent BFSs over the same graph on a single CPU core while scaling up as the number of cores increases, and demonstrates how a real graph analytics application---all-vertices closeness centrality---can be efficiently solved with MS-BFS.
Efficient snapshot retrieval over historical graph data
TLDR
An in-memory graph data structure called GraphPool that can maintain hundreds of historical graph instances in main memory in a non-redundant manner and develop analytical models for both the storage space needed and the snapshot retrieval times to aid in choosing the right construction parameters for a specific scenario.
GraphX: Graph Processing in a Distributed Dataflow Framework
TLDR
This paper introduces GraphX, an embedded graph processing framework built on top of Apache Spark, a widely used distributed dataflow system and demonstrates that GraphX achieves an order of magnitude performance gain over the base dataflow framework and matches the performance of specialized graph processing systems while enabling a wider range of computation.
Pregel: a system for large-scale graph processing
TLDR
A model for processing large graphs that has been designed for efficient, scalable and fault-tolerant implementation on clusters of thousands of commodity computers, and its implied synchronicity makes reasoning about programs easier.
Ligra: a lightweight graph processing framework for shared memory
TLDR
This paper presents a lightweight graph processing framework that is specific for shared-memory parallel/multicore machines, which makes graph traversal algorithms easy to write and significantly more efficient than previously reported results using graph frameworks on machines with many more cores.
LLAMA: Efficient graph analytics using Large Multiversioned Arrays
TLDR
The evaluation shows that LLAMA's mutability introduces modest overheads of 3–18% relative to immutable CSR for in-memory execution and that it outperforms state- of-the-art out-of-memory systems in most cases, with a best case improvement of 5x on breadth-first-search.
Green-Marl: a DSL for easy and efficient graph analysis
TLDR
This paper describes Green-Marl, a domain-specific language (DSL) whose high level language constructs allow developers to describe their graph analysis algorithms intuitively, but expose the data-level parallelism inherent in the algorithms.
Thinking Like a Vertex
TLDR
In this survey, the vertex-centric approach to graph processing is overviewed, TLAV frameworks are deconstructed into four main components and respectively analyzed, and TLAV implementations are reviewed and categorized.
Path Problems in Temporal Graphs
TLDR
The shortcomings of classic shortest path in a temporal graph are shown, various concepts of "shortest" path for temporal graphs are studied, and efficient algorithms to compute these temporal paths are proposed.
...
1
2
3
...