Triangle Counting with A Multi-Core Computer

Evan Donato,Ming Ouyang,Cristian Peguero-Isalguez
DOI: https://doi.org/10.1109/HPEC.2018.8547540
2018-01-01
Abstract:The forward algorithm for counting the number of triangles in a sparse graph is fast in practice. This article studies how to prepare data and data structures for implementing the algorithm on a two-socket computer. Specifically, a data structure is designed to increase cache efficiency for the forward algorithm, and a scheme for tiebreaking during the sorting of vertices is designed to increase sequential access to the data structure. The Graph Challenge provides a collection of data sets for researchers to compare the performance of their implementations. The performance metrics include the edge rate (the number of edges in the graph divided by runtime) and the triangle rate (the number of triangles divided by runtime). Herein the highest edge rate achieved is 1.406 billion edges per second, and the highest triangle rate is 3.495 billion triangles per second.
What problem does this paper attempt to address?