RECEIPT:用于二部图并行尖端分解的粗粒度独立任务细化方法
分布式、并行与集群计算
2020-10-20 v1
摘要
尖端分解是挖掘二部网络中稠密子图的关键内核,在垃圾检测、隶属关系网络分析等方面有应用。它创建由顶点诱导的子图层次结构,其密度由顶点在蝴蝶结构(2,2-二部团)中的参与程度决定。为构建层次结构,现有算法迭代地遵循删除-更新(剥离)过程:删除具有最少蝴蝶数量的顶点,并相应更新其 2 跳邻居的蝴蝶计数。探索 2 跳邻域的需求使尖端分解计算开销极大。此外,剥离最小蝴蝶顶点所固有的顺序性使得派生的并行算法易于产生繁重同步。本文提出一种新颖的并行尖端分解算法——粗粒度独立任务细化(RECEIPT),其通过将顶点划分为多个可并发剥离的独立子集来放宽剥离顺序限制。这使 RECEIPT 能同时实现高度并行性与同步量的大幅减少。此外,RECEIPT 采用混合剥离策略及其他优化,大幅减少了楔形探索量与执行时间。我们在共享内存多核服务器上对 RECEIPT 进行了详细实验评估。它能以比最先进算法快数个数量级的速度处理部分最大规模公开二部数据集——实现线程同步次数与遍历楔形数分别减少多达 1100 倍和 64 倍。使用 36 线程时,RECEIPT 可提供高达 17.1 倍的自相对加速比。RECEIPT 的实现见 https://github.com/kartiklakhotia/RECEIPT。
引用
@article{arxiv.2010.08695,
title = {RECEIPT: REfine CoarsE-grained IndePendent Tasks for Parallel Tip decomposition of Bipartite Graphs},
author = {Kartik Lakhotia and Rajgopal Kannan and Viktor Prasanna and Cesar A. F. De Rose},
journal= {arXiv preprint arXiv:2010.08695},
year = {2020}
}
备注
To appear in Proceedings of VLDB Vol. 14