A Block-Based Triangle Counting Algorithm on Heterogeneous Environments
Abdurrahman Ya\c{s}ar, Sivasankaran Rajamanickam, Jonathan Berry, and \"Umit V. \c{C}ataly\"urek

TL;DR
This paper introduces a block-based triangle counting algorithm optimized for heterogeneous systems, significantly reducing data movement and outperforming existing methods on large graphs like Friendster.
Contribution
It presents a novel task decomposition approach that partitions triangles directly, enabling efficient streaming to diverse compute resources in heterogeneous environments.
Findings
20% faster than state-of-the-art on Friendster graph (excluding data transfer)
5.6x faster than fastest CPU-only methods including data transfer time
Effective for large-scale graphs on multi-socket, multi-core, and GPU systems
Abstract
Triangle counting is a fundamental building block in graph algorithms. In this paper, we propose a block-based triangle counting algorithm to reduce data movement during both sequential and parallel execution. Our block-based formulation makes the algorithm naturally suitable for heterogeneous architectures. The problem of partitioning the adjacency matrix of a graph is well-studied. Our task decomposition goes one step further: it partitions the set of triangles in the graph. By streaming these small tasks to compute resources, we can solve problems that do not fit on a device. We demonstrate the effectiveness of our approach by providing an implementation on a compute node with multiple sockets, cores and GPUs. The current state-of-the-art in triangle enumeration processes the Friendster graph in 2.1 seconds, not including data copy time between CPU and GPU. Using that metric, our…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsGraph Theory and Algorithms · Parallel Computing and Optimization Techniques · Data Management and Algorithms
