An analysis of the graph processing landscape
arXiv:1911.11624 · doi:10.1186/s40537-021-00443-9
Abstract
The value of graph-based big data can be unlocked by exploring the topology and metrics of the networks they represent, and the computational approaches to this exploration take on many forms. The use-case of performing global computations over a graph, it is first ingested into a graph processing system from one of many digital representations. Extracting information from graphs involves processing all their elements globally, and can be done with single-machine systems (with varying approaches to hardware usage), distributed systems (either homogeneous or heterogeneous groups of machines) and systems dedicated to high-performance computing (HPC). We provide an overview of different aspects of the graph processing landscape and describe classes of systems based on a set of dimensions we detail. The dimensions we detail encompass paradigms to express graph processing, different types of systems to use, coordination and communication models in distributed graph processing, partitioning techniques and different definitions related to the potential for a graph to be updated. This survey is aimed at both the experienced software engineer or researcher as well as the newcomer looking for an understanding of the landscape of solutions (and their limitations) for graph processing.
42 pages, 5 figures, 2 tables
References in corpus (27)
- Finding overlapping communities in networks by label propagation
- GraphLab: A New Framework For Parallel Machine Learning
- Gunrock: A High-Performance Graph Processing Library on the GPU
- GraphLab: A New Framework for Parallel Machine Learning
- Temporal Graphs
- Advanced modularity-specialized label propagation algorithm for detecting communities in networks
- Predictability and epidemic pathways in global outbreaks of infectious diseases: the SARS case study
- The Gremlin Graph Traversal Machine and Language
- Scale-free network growth by ranking
- Proceedings of the Twenty-Sixth Conference on Uncertainty in Artificial Intelligence (2010)
- GoFFish: A Sub-Graph Centric Framework for Large-Scale Graph Analytics
- High-Level Programming Abstractions for Distributed Graph Processing
- Weaver: A High-Performance, Transactional Graph Database Based on Refinable Timestamps
- Reconciliation of RDF* and Property Graphs
- Ringo: Interactive Graph Analytics on Big-Memory Machines
- xDGP: A Dynamic Graph Processing System with Adaptive Partitioning
- RedisGraph GraphBLAS Enabled Graph Database
- Pixie: A System for Recommending 3+ Billion Items to 200+ Million Users in Real-Time
- G-CORE: A Core for Future Graph Query Languages
- GraphMat: High performance graph analytics made productive
- TigerGraph: A Native MPP Graph Database
- Gunrock: GPU Graph Analytics
- BUbiNG: Massive Crawling for the Masses
- Log(Graph): A Near-Optimal High-Performance Graph Representation
- GraphCage: Cache Aware Graph Processing on GPUs
- VeilGraph: Streaming Graph Approximations
- Distributed Algorithms for Subgraph-Centric Graph Platforms