Engineering a Distributed-Memory Triangle Counting Algorithm
Peter Sanders, Tim Niklas Uhl

TL;DR
This paper presents a scalable distributed-memory algorithm for triangle counting in large graphs, significantly reducing communication overhead and enabling efficient processing on thousands of cores.
Contribution
The authors introduce a novel asynchronous sparse-all-to-all operation and indirect routing to improve scalability and speed in distributed triangle counting algorithms.
Findings
Scales up to 32,768 cores
Achieves up to 18x speedup over previous methods
Reduces communication and startup overheads
Abstract
Counting triangles in a graph and incident to each vertex is a fundamental and frequently considered task of graph analysis. We consider how to efficiently do this for huge graphs using massively parallel distributed-memory machines. Unsurprisingly, the main issue is to reduce communication between processors. We achieve this by counting locally whenever possible and reducing the amount of information that needs to be sent in order to handle (possible) nonlocal triangles. We also achieve linear memory requirements despite superlinear communication volume by introducing a new asynchronous sparse-all-to-all operation. Furthermore, we dramatically reduce startup overheads by allowing this communication to use indirect routing. Our algorithms scale (at least) up to 32 768 cores and are up to 18 times faster than the previous state of the art.
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 · Complex Network Analysis Techniques · Advanced Graph Neural Networks
