Peregrine: A Pattern-Aware Graph Mining System
arXiv:2004.02369 · doi:10.1145/3342195.3387548
Abstract
Graph mining workloads aim to extract structural properties of a graph by exploring its subgraph structures. General purpose graph mining systems provide a generic runtime to explore subgraph structures of interest with the help of user-defined functions that guide the overall exploration process. However, the state-of-the-art graph mining systems remain largely oblivious to the shape (or pattern) of the subgraphs that they mine. This causes them to: (a) explore unnecessary subgraphs; (b) perform expensive computations on the explored subgraphs; and, (c) hold intermediate partial subgraphs in memory; all of which affect their overall performance. Furthermore, their programming models are often tied to their underlying exploration strategies, which makes it difficult for domain users to express complex mining tasks. In this paper, we develop Peregrine, a pattern-aware graph mining system that directly explores the subgraphs of interest while avoiding exploration of unnecessary subgraphs, and simultaneously bypassing expensive computations throughout the mining process. We design a pattern-based programming model that treats "graph patterns" as first class constructs and enables Peregrine to extract the semantics of patterns, which it uses to guide its exploration. Our evaluation shows that Peregrine outperforms state-of-the-art distributed and single machine graph mining systems, and scales to complex mining tasks on larger graphs, while retaining simplicity and expressivity with its "pattern-first" programming approach.
This is the full version of the paper appearing in the European Conference on Computer Systems (EuroSys), 2020
References in corpus (1)
Cited by in corpus (14)
- Scalable Graph Neural Network Training: The Case for Sampling
- MAPA: Multi-Accelerator Pattern Allocation Policy for Multi-Tenant GPU Servers
- Towards Plug-and-Play Visual Graph Query Interfaces: Data-driven Canned Pattern Selection for Large Networks
- DwarvesGraph: A High-Performance Graph Mining System with Pattern Decomposition
- FreSCo: Mining Frequent Patterns in Simplicial Complexes
- IntersectX: An Efficient Accelerator for Graph Mining
- GraphMini: Accelerating Graph Pattern Matching Using Auxiliary Graphs
- GraphPi: High Performance Graph Pattern Matching through Effective Redundancy Elimination
- Kudu: An Efficient and Scalable Distributed Graph Pattern Mining Engine
- Sandslash: A Two-Level Framework for Efficient Graph Pattern Mining
- CEMR: An Effective Subgraph Matching Algorithm with Redundant Extension Elimination
- Scaling up graph homomorphism for classification via sampling
- Efficient Mining of Frequent Subgraphs with Two-Vertex Exploration
- Pattern Morphing for Efficient Graph Mining