PageRank is a widely used centrality measure that "ranks" vertices in a graph by considering the connections and their importance. In this report, we first introduce one of the most efficient GPU implementations of Static PageRank, which recomputes PageRank scores from scratch. It uses a synchronous pull-based atomics-free PageRank computation, with the low and high in-degree vertices being partitioned and processed by two separate kernels. Next, we present our GPU implementation of incrementally expanding (and contracting) Dynamic Frontier with Pruning (DF-P) PageRank, which processes only a subset of vertices likely to change ranks. It is based on Static PageRank, and uses an additional partitioning between low and high out-degree vertices for incremental expansion of the set of affected vertices with two additional kernels. On a server with an NVIDIA A100 GPU, our Static PageRank outperforms Hornet and Gunrock's PageRank implementations by 31x and 5.9x respectively. On top of the above, DF-P PageRank outperforms Static PageRank by 2.1x on real-world dynamic graphs, and by 3.1x on large static graphs with random batch updates.
翻译:PageRank是一种广泛使用的中介中心性度量方法,通过考虑连接及其重要性对图中的顶点进行"排序"。本报告首先介绍一种最有效的静态PageRank GPU实现方法,该方法从头开始重新计算PageRank分数。它采用基于同步拉取且无原子操作的PageRank计算,将低入度和高入度的顶点分区,并通过两个独立内核进行处理。其次,我们提出了基于动态前沿剪枝(DF-P)的增量扩展(与收缩)PageRank的GPU实现方法,该方法仅处理可能改变排名的顶点子集。该实现基于静态PageRank,并利用低出度和高出度顶点之间额外的分区,通过两个附加内核实现受影响顶点集合的增量扩展。在搭载NVIDIA A100 GPU的服务器上,我们的静态PageRank分别比Hornet和Gunrock的PageRank实现快31倍和5.9倍。在此基础上,D F-P PageRank在真实世界动态图上比静态PageRank快2.1倍,在具有随机批量更新的大规模静态图上快3.1倍。