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
Cited by in corpus (10)
- 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
- FreSCo: Mining Frequent Patterns in Simplicial Complexes
- IntersectX: An Efficient Accelerator for Graph Mining
- GraphPi: High Performance Graph Pattern Matching through Effective Redundancy Elimination
- GraphMini: Accelerating Graph Pattern Matching Using Auxiliary Graphs
- Sandslash: A Two-Level Framework for Efficient Graph Pattern Mining
- Pattern Morphing for Efficient Graph Mining
- Efficient Mining of Frequent Subgraphs with Two-Vertex Exploration
- Scaling up graph homomorphism for classification via sampling