Skip to main content
QUICK REVIEW

[論文レビュー] An Efficient Dispatcher for Large Scale GraphProcessing on OpenCL-based FPGAs

Chengbo Yang|arXiv (Cornell University)|Jun 3, 2018
Graph Theory and Algorithms参考文献 9被引用数 3
ひとこと要約

本稿では、OpenCLベースのFPGA上で大規模グラフ処理を実行するための二重モジュール型エッジブロックベースディスpatcherを提案する。頂点中心型およびエッジ中心型計算を統合することで、変動する並列性に動的に適応する。エッジを固定サイズのエッジブロックに整理し、実行時ディスパッチャーを用いて処理モードを切り替えることで、オンチップメモリ使用量とパイプライン効率を最適化し、多様なグラフワークロードにおいて、先行するFPGAベースのシステムを上回る性能を達成する。

ABSTRACT

High parallel framework has been proved to be very suitable for graph processing. There are various work to optimize the implementation in FPGAs, a pipeline parallel device. The key to make use of the parallel performance of FPGAs is to process graph data in pipeline model and take advantage of on-chip memory to realize necessary locality process. This paper proposes a modularize graph processing framework, which focus on the whole executing procedure with the extremely different degree of parallelism. The framework has three contributions. First, the combination of vertex-centric and edge-centric processing framework can been adjusting in the executing procedure to accommodate top-down algorithm and bottom-up algorithm. Second, owing to the pipeline parallel and finite on-chip memory accelerator, the novel edge-block, a block consist of edges vertex, achieve optimizing the way to utilize the on-chip memory to group the edges and stream the edges in a block to realize the stream pattern to pipeline parallel processing. Third, depending to the analysis of the block structure of nature graph and the executing characteristics during graph processing, we design a novel conversion dispatcher to change processing module, to match the corresponding exchange point.

研究の動機と目的

  • FPGA上での大規模グラフ処理における不規則なメモリアクセスと変動する並列性の課題に対処すること。
  • 偏った頂点次数分布を示すグラフワークロードにおけるオンチップメモリの利用効率とパイプラインスループットを向上させること。
  • ワークロードの特性に応じて、頂点中心型とエッジ中心型処理の間を動的に切り替えるランタイムディスパッチャーを設計すること。
  • エッジブロックを用いてデータストリーミングとメモリアクセスパターンを最適化し、ランダムアクセスのオーバーヘッドを低減すること。
  • 多様なグラフワークロードを対象にフレームワークを評価し、既存のFPGAアクセラレータと性能を比較すること。

提案手法

  • フレームワークは、実行時条件に応じて頂点中心型とエッジ中心型処理モードを動的に切り替える二重モジュールアーキテクチャを採用する。
  • エッジブロックは、8つの宛先頂点を含む固定サイズの単位として導入され、パイプラインへのエッジの構造的ストリーミングを可能にする。
  • 実行時ディスパッチャーは、グラフ構造と実行特性を分析し、各イテレーションで最適な処理モード(プッシュ vs. プル)を選択する。
  • エッジブロック機構により、宛先頂点ごとにエッジをグループ化することで、データローカリティを向上させ、順次アクセスパターンを実現し、メモリアクセスのオーバーヘッドを低減する。
  • FPGAのパイプライン並列性とオンチップブロックRAM(BRAM)リソースを活用して、高スルーレートのデータ処理を維持する。
  • フレームワークはOpenCLを用いて1つのFPGA上に実装され、メモリ帯域幅とリソース利用効率の最適化が施されている。

実験結果

リサーチクエスチョン

  • RQ11つのFPGAが、大規模グラフ処理における著しい変動する並列性と不規則なメモリアクセスパターンをどのように効率的に処理できるか。
  • RQ2グラフ実行中に頂点中心型(プッシュ)とエッジ中心型(プル)計算モデルの間で、最適な切り替え戦略は何か。
  • RQ3FPGAベースのグラフアクセラレータにおいて、オンチップメモリの再利用とパイプライン効率を最大化するようにエッジブロックをどのように設計すべきか。
  • RQ4動的モード切り替えとエッジブロックデータ構造を組み合わせることで、FPGA上でどの程度の性能向上が達成できるか。
  • RQ5スループットとリソース利用効率の観点から、本稿で提案するディスパッチャーは、静的または単一モード処理フレームワークに比べてどのように差をつけるか。

主な発見

  • 提案されたディスパッチャーは、4種類の多様なグラフワークロードにおいて、先行するFPGAベースのシステムと同等またはそれ以上の性能を達成する。
  • エッジブロックの使用により、データローカリティが著しく向上し、ランダムメモリアクセスが減少することで、パイプラインへのエッジの順次ストリーミングが可能になる。
  • 頂点中心型とエッジ中心型モード間の動的切り替えにより、変化するワークロード特性に適応し、全体のスループットが向上する。
  • エッジを固定サイズのブロックにグループ化することで、限られたオンチップメモリおよびBRAMリソースを効果的に活用する。
  • 評価により、知的なモード切り替えを伴う二重モジュールアプローチが、静的またはモノリシックな処理モデルを上回ることを示している。
  • 本システムは強力なスケーラビリティのポテンシャルを示しており、今後の課題としてマルチFPGAデプロイメントによるさらなる性能向上が期待される。

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

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

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

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