Skip to main content
QUICK REVIEW

[論文レビュー] Work-Efficient Parallel and Incremental Graph Connectivity

Natcha Simsiri, Kanat Tangwongsan|arXiv (Cornell University)|Feb 16, 2016
Graph Theory and Algorithms参考文献 11被引用数 4
ひとこと要約

本論文は、多項式対数の並列深さを有する、作業効率の良い共有メモリ並列アルゴリズムとして、インクリメンタルグラフ連結性を処理する初の手法を提示している。これにより、ストリーミングエッジの高スループット処理が可能となり、20コアのマシン上で毎秒数億エッジを処理する性能を達成した。これは、順次処理法を著しく上回り、作業複雑度において理論的最適性を維持している。

ABSTRACT

On an evolving graph that is continuously updated by a high-velocity stream of edges, how can one efficiently maintain if two vertices are connected? This is the connectivity problem, a fundamental and widely studied problem on graphs. We present the first shared-memory parallel algorithm for incremental graph connectivity that is both provably work-efficient and has polylogarithmic parallel depth. We also present a simpler algorithm with slightly worse theoretical properties, but which is easier to implement and has good practical performance. Our experiments show a throughput of hundreds of millions of edges per second on a $20$-core machine.

研究の動機と目的

  • 動的かつ高速度のデータストリームにおける、高スループットでリアルタイムなグラフ分析のニーズに対応する。
  • 作業効率的かつ並列深さが低い、インクリメンタルグラフ連結性の並列アルゴリズムを設計する。
  • 共有メモリシステムにおける、エッジ更新および連結性クエリの効率的バルク処理を可能にする。
  • 現代のマルチコアアーキテクチャにおいて、実用的なスケーラビリティと高スループットを達成する。
  • 理論的並列アルゴリズムと、ストリーム処理フレームワークにおける実用的導入のギャップを埋める。

提案手法

  • b個のエッジに対してO(n)のメモリとO(b log n)の作業で、1パスでミニバッチを処理する単純な並列インクリメンタル連結性アルゴリズムを提案する。
  • 全作業がO((m + q)α(m + q, n))となる、作業最適化されたアルゴリズムを導入し、最良の順次Union-Find性能と一致させる。
  • パス圧縮と効率的なバッチ処理を組み合わせた並列Union-Findの変種を用い、重複作業を最小限に抑える。
  • 各操作が複数コアに並列で処理される、バルク更新およびバルククエリインターフェースを設計する。
  • 共有メモリ並列処理を活用して、大規模なミニバッチのエッジおよびクエリを同時に処理し、同期のオーバーヘッドを最小限に抑える。
  • ハイパースレーディングを備えた20コアシステム上で、単純なアルゴリズムの実装と評価を実施する。

実験結果

リサーチクエスチョン

  • RQ1共有メモリ並列アルゴリズムとして、インクリメンタルグラフ連結性処理が作業効率的かつ多項式対数の並列深さを達成できるか?
  • RQ2現代のマルチコアシステム上で、エッジ更新およびクエリのバルク並列処理を効率的にスケーリングする方法は何か?
  • RQ3実世界のストリーミングワークロードにおいて、作業効率の良い並列インクリメンタルグラフ連結性アルゴリズムの実用的性能はどの程度か?
  • RQ4理論的最適性を維持しつつ、実用的に高スループットを達成できるか?
  • RQ5大規模バッチでは線形作業、小規模バッチではUnion-Findスタイルの性能を併せ持つハイブリッドアルゴリズムを設計可能か?

主な発見

  • 提案されたアルゴリズムは、40のハイパースレッドを持つ20コアマシンで、毎秒3億エッジのスループットを達成した。
  • 20コアでシングルスレッド性能比8~11倍のスピードアップを実現し、異なるデータセット間で一貫したスケーラビリティを示した。
  • バッチサイズが大きくなるほど、同期のオーバーヘッドが減少し、負荷分散が改善されるため、スピードアップが増加した。
  • 多くの連結成分を含むデータセット(例:rMat16)では、20スレッドを超えるとバッチあたりの作業が不足し、スループットが低下し始めた。
  • パス圧縮なしのUnion-Findより1.01~2.5倍高速であり、パス圧縮ありのUnion-Findと比較して許容できるオーバーヘッドに収まった。
  • 理論的作業最適性を維持しながら、実用的にほぼ線形のスピードアップを達成した。

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

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

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

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