1 research outputs found
A GraphBLAS Approach for Subgraph Counting
Subgraph counting aims to count the occurrences of a subgraph template T in a
given network G. The basic problem of computing structural properties such as
counting triangles and other subgraphs has found applications in diverse
domains. Recent biological, social, cybersecurity and sensor network
applications have motivated solving such problems on massive networks with
billions of vertices. The larger subgraph problem is known to be memory bounded
and computationally challenging to scale; the complexity grows both as a
function of T and G. In this paper, we study the non-induced tree subgraph
counting problem, propose a novel layered softwarehardware co-design approach,
and implement a shared-memory multi-threaded algorithm: 1) reducing the
complexity of the parallel color-coding algorithm by identifying and pruning
redundant graph traversal; 2) achieving a fully-vectorized implementation upon
linear algebra kernels inspired by GraphBLAS, which significantly improves
cache usage and maximizes memory bandwidth utilization. Experiments show that
our implementation improves the overall performance over the state-of-the-art
work by orders of magnitude and up to 660x for subgraph templates with size
over 12 on a dual-socket Intel(R) Xeon(R) Platinum 8160 server. We believe our
approach using GraphBLAS with optimized sparse linear algebra can be applied to
other massive subgraph counting problems and emerging high-memory bandwidth
hardware architectures.Comment: 12 page