中文

使用以分区为中心的处理加速 PageRank

分布式、并行与集群计算 2018-08-08 v4 数据结构与算法 性能

摘要

PageRank 是一种基本的链接分析算法,同时也是稀疏矩阵-向量乘法性能的关键代表。传统的 PageRank 实现会产生细粒度的随机内存访问,导致大量无用的 DRAM 流量和较差的带宽利用率。在本文中,我们提出了一种新颖的以分区为中心的处理方法来计算 PageRank,该方法在实现高持续内存带宽的同时,大幅减少了 DRAM 通信量。PCPM 使用以分区为中心的抽象,结合 Gather-Apply-Scatter (GAS) 编程模型。通过仔细检查基于 PCPM 的实现对算法通信特性的影响,我们提出了几种系统优化方案,大幅缩短了执行时间。更具体地说,我们开发了(1)一种显著减少通信和随机 DRAM 访问的新数据布局,以及(2)消除不可预测的数据依赖分支的分支规避机制。我们使用 6 个大图对我们的方法进行了详细的分析和实验评估,结果表明,与现有技术相比,执行时间平均加速了 2.7 倍,通信量减少了 1.7 倍。我们还表明,与其他基于 GAS 的实现不同,PCPM 能够利用增强局部性的智能节点标记来进一步减少主存流量。尽管我们在本文中将 PageRank 作为目标应用,但我们的方法也可应用于通用的 SpMV 计算。

关键词

引用

@article{arxiv.1709.07122,
  title  = {Accelerating PageRank using Partition-Centric Processing},
  author = {Kartik Lakhotia and Rajgopal Kannan and Viktor Prasanna},
  journal= {arXiv preprint arXiv:1709.07122},
  year   = {2018}
}

备注

Added acknowledgments. In proceedings of USENIX ATC 2018