[论文解读] Accelerating PageRank using Partition-Centric Processing
本文提出了一种新型的分区中心处理方法(PCPM),通过将顶点分组为分区来减少DRAM通信和随机内存访问,从而加速PageRank计算。通过采用新型PNG数据布局和分支避免技术,PCPM在大规模图上相比现有最先进方法实现了平均2.7倍的性能提升,并将通信量减少1.7倍。
PageRank is a fundamental link analysis algorithm that also functions as a key representative of the performance of Sparse Matrix-Vector (SpMV) multiplication. The traditional PageRank implementation generates fine granularity random memory accesses resulting in large amount of wasteful DRAM traffic and poor bandwidth utilization. In this paper, we present a novel Partition-Centric Processing Methodology (PCPM) to compute PageRank, that drastically reduces the amount of DRAM communication while achieving high sustained memory bandwidth. PCPM uses a Partition-centric abstraction coupled with the Gather-Apply-Scatter (GAS) programming model. By carefully examining how a PCPM based implementation impacts communication characteristics of the algorithm, we propose several system optimizations that improve the execution time substantially. More specifically, we develop (1) a new data layout that significantly reduces communication and random DRAM accesses, and (2) branch avoidance mechanisms to get rid of unpredictable data-dependent branches. We perform detailed analytical and experimental evaluation of our approach using 6 large graphs and demonstrate an average 2.7x speedup in execution time and 1.7x reduction in communication volume, compared to the state-of-the-art. We also show that unlike other GAS based implementations, PCPM is able to further reduce main memory traffic by taking advantage of intelligent node labeling that enhances locality. Although we use PageRank as the target application in this paper, our approach can be applied to generic SpMV computation.
研究动机与目标
- 解决共享内存系统中由于不规则内存访问模式和高DRAM通信量导致的PageRank性能瓶颈。
- 减少传统基于顶点和边的SpMV模型中固有的冗余边遍历和随机内存访问。
- 通过分区和智能节点标记技术,利用数据局部性,提升内存带宽利用率。
- 开发一种系统优化的、可扩展的编程模型,适用于PageRank之外的通用SpMV工作负载。
提出的方法
- 提出分区中心处理方法论(PCPM),将计算重构为围绕顶点分组(分区)而非单个节点或边进行。
- 采用Gather-Apply-Scatter(GAS)模型,但重新组织数据访问方式,通过一次性处理整个分区来最小化随机DRAM访问。
- 提出一种新型PNG(分组节点)数据布局,支持流式内存访问模式,并维持超过75%的峰值内存带宽。
- 应用分支避免机制,消除内核计算中不可预测的数据依赖分支。
- 使用基于索引的分区方法,结合优化的写入偏移量和桶大小计算,以减少预处理开销。
- 通过智能节点标记提升数据局部性,进一步减少在散射和聚集阶段的通信量。
实验结果
研究问题
- RQ1将顶点划分为缓存友好的组,是否能减少PageRank中的DRAM通信并提升内存带宽利用率?
- RQ2与基于顶点和边的GAS模型相比,分区中心处理在性能和通信量方面表现如何?
- RQ3数据布局优化和无分支执行能在多大程度上进一步加速基于SpMV的图算法(如PageRank)?
- RQ4PCPM能否推广到PageRank之外的其他稀疏矩阵-向量计算?
主要发现
- 在16核共享内存系统上,PCPM在六个大规模真实图上相比现有最先进方法实现了平均2.7倍的执行时间加速。
- PCPM平均将主内存通信量减少1.7倍,各数据集的改进范围在1.3倍到2.5倍之间。
- 该平台的最优分区大小为256 KB,兼顾了压缩收益和缓存局部性。
- PCPM的预处理时间小于一次迭代时间,且在多次PageRank迭代中可被摊销。
- PNG数据布局通过消除随机内存访问,实现了超过峰值带宽75%的持续内存带宽利用率。
- 由于更优的数据布局和更低的冗余度,PCPM在通信密集型阶段显著优于BVGAS和PDPR实现。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。