General-Purpose Join Algorithms for Listing Triangles in Large Graphs
Daniel Zinn

TL;DR
This paper explores applying a worst-case optimal join algorithm, Leapfrog Triejoin, with a novel data feeding approach called boxing, to efficiently list triangles in large graphs, matching specialized algorithms in I/O complexity.
Contribution
It introduces 'boxing', a simple method for applying LFTJ to large data, and demonstrates its efficiency and optimality in out-of-core triangle listing, with theoretical and experimental validation.
Findings
Boxed LFTJ is I/O efficient and worst-case optimal.
Boxed LFTJ matches specialized algorithms like MGT in complexity.
Experimental results show LFTJ is within a factor of 3 of MGT on large datasets.
Abstract
We investigate applying general-purpose join algorithms to the triangle listing problem in an out-of-core context. In particular, we focus on Leapfrog Triejoin (LFTJ) by Veldhuizen 2014, a recently proposed, worst-case optimal algorithm. We present "boxing": a novel, yet conceptually simple, approach for feeding input data to LFTJ. Our extensive analysis shows that this approach is I/O efficient, being worst-case optimal (in a certain sense). Furthermore, if input data is only a constant factor larger than the available memory, then a boxed LFTJ essentially maintains the CPU data-complexity of the vanilla LFTJ. Next, focusing on LFTJ applied to the triangle query, we show that for many graphs boxed LFTJ matches the I/O complexity of the recently by Hu, Tao and Yufei proposed specialized algorithm MGT for listing tiangles in an out-of-core setting. We also strengthen the analysis of…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsData Management and Algorithms · Advanced Database Systems and Queries · Graph Theory and Algorithms
