Parallel Batch-Dynamic $k$-Clique Counting

March 30, 2020 Β· Declared Dead Β· πŸ› SIAM Symposium on Algorithmic Principles of Computer Systems

πŸ‘» CAUSE OF DEATH: Ghosted
No code link whatsoever

"No code URL or promise found in abstract"

Evidence collected by the PWNC Scanner

Authors Laxman Dhulipala, Quanquan C. Liu, Julian Shun, Shangdi Yu arXiv ID 2003.13585 Category cs.DS: Data Structures & Algorithms Cross-listed cs.DC Citations 31 Venue SIAM Symposium on Algorithmic Principles of Computer Systems Last Checked 3 months ago
Abstract
In this paper, we study new batch-dynamic algorithms for the $k$-clique counting problem, which are dynamic algorithms where the updates are batches of edge insertions and deletions. We study this problem in the parallel setting, where the goal is to obtain algorithms with low (polylogarithmic) depth. Our first result is a new parallel batch-dynamic triangle counting algorithm with $O(Ξ”\sqrt{Ξ”+m})$ amortized work and $O(\log^* (Ξ”+m))$ depth with high probability, and $O(Ξ”+m)$ space for a batch of $Ξ”$ edge insertions or deletions. Our second result is an algebraic algorithm based on parallel fast matrix multiplication. Assuming that a parallel fast matrix multiplication algorithm exists with parallel matrix multiplication constant $Ο‰_p$, the same algorithm solves dynamic $k$-clique counting with $O\left(\min\left(Ξ”m^{\frac{(2k - 1)Ο‰_p}{3(Ο‰_p + 1)}}, (Ξ”+m)^{\frac{2(k + 1)Ο‰_p}{3(Ο‰_p + 1)}}\right)\right)$ amortized work and $O(\log (Ξ”+m))$ depth with high probability, and $O\left((Ξ”+m)^{\frac{2(k + 1)Ο‰_p}{3(Ο‰_p + 1)}}\right)$ space. Using a recently developed parallel $k$-clique counting algorithm, we also obtain a simple batch-dynamic algorithm for $k$-clique counting on graphs with arboricity $Ξ±$ running in $O(Ξ”(m+Ξ”)Ξ±^{k-4})$ expected work and $O(\log^{k-2} n)$ depth with high probability, and $O(m + Ξ”)$ space. Finally, we present a multicore CPU implementation of our parallel batch-dynamic triangle counting algorithm. On a 72-core machine with two-way hyper-threading, our implementation achieves 36.54--74.73x parallel speedup, and in certain cases achieves significant speedups over existing parallel algorithms for the problem, which are not theoretically-efficient.
Community shame:
Not yet rated
Community Contributions

Found the code? Know the venue? Think something is wrong? Let us know!

πŸ“œ Similar Papers

In the same crypt β€” Data Structures & Algorithms

Died the same way β€” πŸ‘» Ghosted