Skip to main content
QUICK REVIEW

[論文レビュー] A linear parallel algorithm to compute bisimulation and relational coarsest partitions

Jan Martens, Jan Friso Groote|arXiv (Cornell University)|May 25, 2021
Ferroelectric and Negative Capacitance Devices参考文献 25被引用数 10
ひとこと要約

本稿では、CRCW PRAMモデル上で強二部分割および関係的粗粒度分割を計算する、最初の線形時間並列アルゴリズムを提示する。最大(n, m)プロセッサを用いて、O(n + |Act|)の時間計算量を達成する。このアルゴリズムは、現代の並列アーキテクチャ(例:GPU)に最適化されており、実際のハードウェア上で線形性能を示す実用的なCUDA実装が提示されている。

ABSTRACT

The most efficient way to calculate strong bisimilarity is by calculation the relational coarsest partition on a transition system. We provide the first linear time algorithm to calculate strong bisimulation using parallel random access machines (PRAMs). More precisely, with $n$ states, $m$ transitions and $|\\mathit{Act}|\\leq m$ action labels, we provide an algorithm on $max(n,m)$ processors that calculates strong bisimulation in time $O(n+|\\mathit{Act}|)$ and space $O(n+m)$. The best-known PRAM algorithm has time complexity $O(n\\log n)$ on a smaller number of processors making it less suitable for massive parallel devices such as GPUs. An implementation on a GPU shows that the linear time-bound is achievable on contemporary hardware.

研究の動機と目的

  • 現代のメガスケール並列ハードウェアにスケーリング効率よく適合する、強二部分割および関係的粗粒度分割を計算する並列アルゴリズムの開発。
  • 従来のPRAMアルゴリズムが有するO(n log n)の時間計算量の制限を克服し、最適なO(n + |Act|)の時間計算量を達成すること。
  • 現代のハードウェア上で理論的性能境界を実証する、実用的でGPU互換性のある実装の設計。
  • 複数のアクションラベルを有するラベル付き遷移系(LTSs)を扱えるようにアルゴリズムを拡張し、線形時間計算量を維持すること。
  • P-完全問題として知られるbisimulationの線形時間並列計算が、高度に並列なアーキテクチャ上で実現可能であることを示すこと。

提案手法

  • アルゴリズムは、並列分割の細分化に基づく、順序付きKanellakis-Smolkaアルゴリズムの変種を、大規模並列処理に適応したものである。
  • 共通メモリを備えたCRCW PRAMモデルを用い、最大(n, m)プロセッサを用いて、効率的なブロック細分化を実現するための同時読み取り・書き込み操作を可能にしている。
  • 各細分化されたブロックに対して最小インデックスの代表者を決定するためのリーダー選出メカニズムを採用し、同時に書き込みが行われる状況でも決定論的な結果を保証している。
  • 状態と遷移を並列処理し、共有メモリを用いてブロック所属関係と細分化マーカーを追跡している。
  • ラベル付きシステムの場合、各アクションラベルを独立して処理し、結果を統合することで最終的な二部分割パーティションを計算している。
  • PRAMアルゴリズムは、GPU実行を想定してCUDAコードに変換されており、実際の線形時間計算量を維持している。

実験結果

リサーチクエスチョン

  • RQ1大規模なプロセッサ数を有するPRAMモデル上で、関係的粗粒度分割の並列アルゴリズムが線形時間計算量を達成できるか?
  • RQ2複数のアクションラベルを有するラベル付き遷移系をサポートする中で、線形時間計算量を維持することは可能か?
  • RQ3理論的な線形時間性能が、GPUハードウェア上で実際の実装でも達成可能か?
  • RQ4時間計算量およびスケーラビリティの観点から、既存のGPUベースbisimulationツールと比較して、本アルゴリズムの性能はどの程度か?
  • RQ5内部アクションの推移的閉包を組み込むことで、弱二部分割または分岐二部分割を扱えるようにアルゴリズムを拡張できるか?

主な発見

  • 提案されたアルゴリズムは、CRCW PRAMモデル上での最大(n, m)プロセッサを用いて、O(n + |Act|)の時間計算量を達成しており、従来のO(n log n)の境界に比べ顕著な改善を示している。
  • 計算量の観点から最適である。順序付きKanellakis-Smolkaアルゴリズムと同等の計算作業量に留まっている。
  • NVIDIA Titan RTXを用いたCUDA実装により、現代のGPUハードウェア上で線形時間計算量が実際の実装でも達成可能であることが実証された。
  • 各アクションラベルを独立して処理することで、ラベル付き遷移系を扱えるようになり、線形時間計算量を維持している。
  • リーダー選出は、同時に書き込みを行うことで最小インデックスの状態をブロック代表者として選出しており、CRCWモデル下での正しさを保証している。
  • P-完全問題として知られるbisimulationが、現代のメガスケール並列アーキテクチャ(例:GPU)上で効率的に並列化可能である可能性が示唆された。

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

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

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

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