[论文解读] Parallel Batch-Dynamic $k$-Clique Counting
本论文提出了一种工作高效、可并行的批量动态 $k$-clique 计数算法,利用并行快速矩阵乘法与组合枚举技术,实现了亚对数深度与低摊销工作量。该研究提出了一种新颖的三角形计数算法,其摊销工作量为 $O(\Delta\sqrt{\Delta+m})$,深度为 $O(\log^*(\Delta+m))$,在稠密图上优于先前方法,在72核系统上实现了高达74.73倍的加速比。
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)}} ight) ight)$ amortized work and $O(\log (Δ+m))$ depth with high probability, and $O\left((Δ+m)^{\frac{2(k + 1)ω_p}{3(ω_p + 1)}} ight)$ 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.
研究动机与目标
- 设计适用于现代多核架构的并行批量动态 $k$-clique 计数算法,实现高效扩展。
- 在动态更新(特别是大规模边插入与删除)中实现低摊销工作量与亚对数深度。
- 基于并行快速矩阵乘法,设计一种理论上高效的算法,其在稠密图上的性能优于现有动态方法。
- 在真实与合成工作负载上实现并评估所提算法,证明其在实际应用中优于现有非理论最优的方法。
- 通过支持批量处理与并行计算,解决顺序算法与单次更新动态算法在高频率动态图工作负载中的局限性。
提出的方法
- 提出一种基于顶点度数的工作分配与批量感知邻接表更新策略的并行批量动态三角形计数算法,以最小化冗余计算。
- 采用一种新颖的工作高效策略,通过跟踪公共邻居的变化并增量式更新团计数,批量处理边更新。
- 提出一种基于并行快速矩阵乘法的代数方法,$k$-团计数的摊销工作量被限制在 $O(\min(\Delta m^{(2k-1)\omega_p/(3(\omega_p+1))}, (\Delta+m)^{2(k+1)\omega_p/(3(\omega_p+1))}))$ 以内。
- 针对分枝度为 $\alpha$ 的图,采用低出度定向策略,设计一种简单、基于枚举的批量动态 $k$-团计数算法,其期望工作量为 $O(\Delta(m+\Delta)\alpha^{k-4})$,深度为 $O(\log^{k-2}n)$。
- 在配备双路超线程的72核CPU上实现三角形计数算法,通过优化内存访问模式与核心间负载均衡以提升性能。
- 采用混合方法,检测并消除批量内的冗余更新(如插入-删除对),以减少不必要的计算。
实验结果
研究问题
- RQ1并行批量动态 $k$-团计数算法能否在保持低摊销工作量的同时实现亚对数深度?
- RQ2基于矩阵乘法的方法在图密度与批量大小增加时,其性能如何变化?
- RQ3基于组合枚举的 $k$-团计数算法能否在真实图上同时实现理论效率与实际加速?
- RQ4在高阶顶点与稠密图上,所提算法与现有非理论最优的并行算法相比,实际表现如何?
- RQ5批量大小与图密度对批量动态三角形计数算法性能有何影响?
主要发现
- 所提并行批量动态三角形计数算法在高概率下实现了 $O(\Delta\sqrt{\Delta+m})$ 的摊销工作量与 $O(\log^*(\Delta+m))$ 的深度,显著优于先前的并行批量动态方法。
- 在配备超线程的72核机器上,其实现达到了36.54至74.73倍的并行加速比,在所有批量大小下均优于现有非理论最优的算法在Twitter图上的表现。
- 在rMAT合成图上,该算法在小批量与更稠密图上相比Makkar等人 [MBG17] 的方法最高实现了3.31倍的加速比,后者因高阶顶点更新而性能下降。
- 在稠密图上,基于矩阵乘法的算法在假设并行快速矩阵乘法算法的常数 $\omega_p$ 为常数的前提下,其渐近工作量优于现有动态方法。
- 在Orkut图上,由于顶点度数较低,Makkar等人方法表现更优;但在包含高阶顶点的Twitter图上,所提算法仍保持竞争力并显著更快。
- 该算法在图密度增加时性能稳定,而Makkar等人方法因依赖于度数的更新开销而性能下降,表明所提方法具有更强的鲁棒性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。