IEEE Transactions on Knowledge and Data Engineering | 2019

On Efficient External-Memory Triangle Listing

 
 
 

Abstract


Discovering triangles in large graphs is a well-studied area; however, both external-memory performance of existing methods and our understanding of the complexity involved leave much room for improvement. To shed light on this problem, we first generalize the existing in-memory algorithms into a single framework of 18 triangle-search techniques. We then develop a novel external-memory approach, which we call Pruned Companion Files (PCF), that supports operation of all 18 algorithms, while significantly reducing I/O compared to the common methods in this area. After finding the best node-traversal order, we build an implementation around it using SIMD instructions for list intersection and PCF for I/O. This method runs 5-10 times faster than the available implementations and exhibits orders of magnitude less I/O. In one of our graphs, the program finds 1 trillion triangles in 237 seconds using a desktop CPU.

Volume 31
Pages 1555-1568
DOI 10.1109/TKDE.2018.2858820
Language English
Journal IEEE Transactions on Knowledge and Data Engineering

Full Text