Skip to main content
QUICK REVIEW

[論文レビュー] Fast Gunrock Subgraph Matching (GSM) on GPUs

Leyuan Wang, John D. Owens|arXiv (Cornell University)|Mar 1, 2020
Graph Theory and Algorithms参考文献 23被引用数 8
ひとこと要約

本稿では、幅優先探索(BFS)を用いて大規模並列処理を活用し、刈り込みと圧縮によってメモリ圧力を軽減するGPU最適化された部分グラフ同型写像アルゴリズムGSM(Gunrock Subgraph Matching)を提案する。中間結果の最小化により、従来のGPU最良手法よりも最大4倍の高速化を達成し、大規模グラフおよび高ラベル数データセットにおけるスケーラブルなマッチングを実現する。

ABSTRACT

In this paper, we propose a GPU-efficient subgraph isomorphism algorithm using the Gunrock graph analytic framework, GSM (Gunrock Subgraph Matching), to compute graph matching on GPUs. In contrast to previous approaches on the CPU which are based on depth-first traversal, GSM is BFS-based: possible matches are explored simultaneously in a breadth-first strategy. The advantage of using BFS-based traversal is that we can leverage the massively parallel processing capabilities of the GPU. The disadvantage is the generation of more intermediate results. We propose several optimization techniques to cope with the problem. Our implementation follows a filtering-and-verification strategy. While most previous work on GPUs requires one-/two-step joining, we use one-step verification to decide the candidates in current frontier of nodes. Our implementation has a speedup up to 4x over previous GPU state-of-the-art implementation.

研究の動機と目的

  • GPU上でCPUベースの深さ優先バックトラッキングアルゴリズムの非効率性(並列処理が不十分でワープの分岐が生じる)を解消すること。
  • 部分グラフマッチングにおけるGPUのメモリ制限を、スマートな刈り込みと圧縮による中間結果生成の最小化によって克服すること。
  • グラフインデックス手法とは異なり、事前処理なしに大規模グラフおよび高ラベル数データセットにおけるスケーラブルな部分グラフマッチングを可能にすること。
  • 従来のGPUおよびCPU部分グラフマッチングソリューションを凌駆する、GPUに最適化されたアルゴリズムを設計すること。
  • k-先読み刈り込みとワンステップ検証の有効性を実証し、候補集合の削減とパフォーマンス向上を実現すること。

提案手法

  • GSMは、従来のCPU深さ優先バックトラッキングとは対照的に、GPU上で大規模並列処理を可能にするBFSベースの走査戦略を採用する。
  • ワンステップ検証を用いたフィルタリング・検証パイプラインを採用し、候補ノードマッピングの検証を簡素化することで、冗長な計算を削減する。
  • k-先読み刈り込みを適用し、特に低次数のグラフ(例:road_central)において実りのない候補を早期に除外する。
  • 圧縮と刈り込み技術により、メモリ使用量をマッチングされた部分グラフのサイズに線形に保ち、メモリの爆発的増加を回避する。
  • 事前処理なしにCSR形式でデータグラフを処理する実装であり、大規模グラフにおける動的クエリをサポートする。
  • 最適化にはラベルベースの刈り込みと効率的なメモリコalescingを含み、レイテンシーの低減とGPUの占有率向上を図る。

実験結果

リサーチクエスチョン

  • RQ1中間結果の生成が多めであるにもかかわらず、BFSベースの部分グラフマッチングアルゴリズムが、CPUの深さ優先法をGPU上で上回ることは可能か?
  • RQ2GPUにおける部分グラフマッチングのメモリ圧力をどのように軽減すれば、より大きなグラフや高ラベル数を扱えるようになるか?
  • RQ3ワンステップ検証とk-先読み刈り込みは、多様なグラフワークロードにおいて、どれほどパフォーマンスとスケーラビリティを向上させるか?
  • RQ4GSMは、従来のGPU手法と比較して、クエリグラフのサイズとノード/エッジラベル数の増加に伴い、どのようにスケーリングするか?
  • RQ5GSMは、GpSM や GSI といったGPU最適化済みの先行手法よりも、メモリ集約的かつ大規模な部分グラフマッチングワークロードで優れたパフォーマンスを発揮できるか?

主な発見

  • GSMは、Enron や Gowalla を含む多様なデータセットで、従来のGPU最良実装よりも最大4倍の高速化を達成した。
  • road_central グラフでは、k-先読み刈り込みにより未実りな候補の削減が図られ、1.38倍の高速化が達成された。
  • Enron および Gowalla データセットでは、GSMは最大13ノードのクエリグラフを処理できたが、GSI は4ノードを超えるクエリでメモリ制限により失敗した。
  • Gowalla データセットでは、GSMの実行時間がラベル数が20から100に増加するに従い線形に短縮されたが、並列化効率の低下に伴い、その後は横ばいとなった。
  • 合成 delaunay グラフでは、GSMはGSI よりも3倍の高いパフォーマンスを維持し、2^20頂点までスケーリング可能であったのに対し、GSI は2^15でメモリ不足に陥った。
  • kron グラフでは6ノードのクエリグラフに対して、GSMはスケーラビリティに優れ、GSI が完全にメモリ不足で失敗する状況でも正常に実行できた。

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

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

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

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