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倍的性能提升。在此基础上,DF-P PageRank在真实动态图中比静态PageRank快2.1倍,在随机批量更新的大型静态图中快3.1倍。