Parallel Batch-Dynamic k-Clique Counting

APOCS(2020)

引用 7|浏览63
暂无评分
摘要
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(Δ√(Δ+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(min(Δ m^(2k - 1)ω_p/3(ω_p + 1), (Δ+m)^2(k + 1)ω_p/3(ω_p + 1))) amortized work and O(log (Δ+m)) depth with high probability, and O((Δ+m)^2(k + 1)ω_p/3(ω_p + 1)) 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.
更多
查看译文
关键词
parallel,batch-dynamic
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要