Skip to main content
QUICK REVIEW

[論文レビュー] Accelerating PageRank using Partition-Centric Processing

Kartik Lakhotia, Rajgopal Kannan|arXiv (Cornell University)|Sep 21, 2017
Graph Theory and Algorithms参考文献 40被引用数 4
ひとこと要約

本稿では、ページランクの高速化を目的として、頂点をパーティションにグループ化することでDRAM通信とランダムメモリアクセスを削減する、新しいパーティション中心処理手法(PCPM)を提案する。新たなPNGデータレイアウトと分岐回避技術を用いることで、大規模グラフ上で、最先端手法に比べ平均2.7倍の高速化と通信量1.7倍の削減を達成した。

ABSTRACT

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トラフィックが引き起こすページランクの性能ボトルネックを解消すること。
  • 従来の頂点およびエッジ中心のSpMVモデルに内在する、重複するエッジ走査とランダムメモリアクセスを低減すること。
  • パーティショニングと知的なノードラベリングを活用してデータ局所性を活かし、メモリ帯域幅の利用効率を向上させること。
  • ページランクを越える一般的なSpMVワークロードに適用可能な、システム最適化されたスケーラブルなプログラミングモデルを開発すること。

提案手法

  • 個々のノードやエッジではなく、頂点のグループ(パーティション)を中心に計算を再構築する、パーティション中心処理手法(PCPM)を導入する。
  • Gather-Apply-Scatter(GAS)モデルを採用しているが、全パーティションを一度に処理することでランダムDRAMアクセスを最小限に抑えるようにデータアクセスを再編成する。
  • ストリーミングメモリアクセスパターンを可能にし、ピークメモリ帯域幅の75%以上を維持できる、新規のPNG(パーティショングループ化ノード)データレイアウトを提案する。
  • カーネル計算における予測不能なデータ依存分岐を排除するために、分岐回避メカニズムを適用する。
  • 最適化された書き込みオフセットとビンサイズ計算を用いたインデックスベースのパーティショニングにより、事前処理のオーバーヘッドを低減する。
  • データ局所性を向上させ、スキャターフェーズおよびギャザー・フェーズの両方で通信量をさらに削減するために、知的なノードラベリングを活用する。

実験結果

リサーチクエスチョン

  • RQ1キャッシュフレンドリーなグループに頂点をパーティショニングすることで、ページランクにおけるDRAM通信を削減し、メモリ帯域幅の利用効率を向上させられるか?
  • RQ2パフォーマンスと通信量の観点から、パーティション中心処理は頂点およびエッジ中心のGASモデルと比べてどのように差がつくか?
  • RQ3データレイアウトと分岐なし実行により、ページランクのようなSpMVベースのグラフアルゴリズムはどの程度さらに高速化できるか?
  • RQ4PCPMは、ページランクを越える他のスパース行列-ベクトル計算に一般化可能か?

主な発見

  • 16コアの共有メモリシステムを用いた6つの大規模実世界グラフにおいて、PCPMは最先端手法に比べ平均2.7倍の実行時間の高速化を達成した。
  • メインメモリ通信量は平均1.7倍削減され、データセット全体で1.3倍から2.5倍の改善が見られた。
  • プラットフォームにおける最適なパーティションサイズは256 KBであり、圧縮効果とキャッシュ局所性の両立を最適化している。
  • PCPMの事前処理時間は1イタレーション分未満であり、複数回のページランクイタレーションにわたって平均化される。
  • PNGデータレイアウトにより、ランダムメモリアクセスを排除することで、ピーク帯域幅の75%以上を継続的に維持できる。
  • PCPMは、通信集約フェーズにおいて特に優れた性能を発揮し、BVGASおよびPDPR実装を上回った。これは、より優れたデータレイアウトと冗長性の低減によるものである。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。