Skip to main content
QUICK REVIEW

[論文レビュー] Data-centric Dynamic Partial Order Reduction

Marek Chalupa, Krishnendu Chatterjee|arXiv (Cornell University)|Oct 4, 2016
Fuel Cells and Related Materials被引用数 16
ひとこと要約

この論文は、観察同値性に基づくデータ中心の動的部分順序還元(DPOR)手法を導入する。2つのトレースが同値であるとは、それぞれの読み取りイベントが同じ書き込みイベントを観察する場合を指す。この手法は、非巡回アーキテクチャに対して証明的に最適であり、Mazurkiewiczに基づくDPORと比較して、同値クラスごとに多項式時間で処理することにより、探索すべきトレースの数を指数的に削減し、実際のところ探索時間と状態空間のサイズを著しく削減する。

ABSTRACT

We present a new dynamic partial-order reduction method for stateless model checking of concurrent programs. A common approach for exploring program behaviors relies on enumerating the traces of the program, without storing the visited states (aka stateless exploration). As the number of distinct traces grows exponentially, dynamic partial-order reduction (DPOR) techniques have been successfully used to partition the space of traces into equivalence classes (Mazurkiewicz partitioning), with the goal of exploring only few representative traces from each class. We introduce a new equivalence on traces under sequential consistency semantics, which we call the observation equivalence. Two traces are observationally equivalent if every read event observes the same write event in both traces. While the traditional Mazurkiewicz equivalence is control-centric, our new definition is data-centric. We show that our observation equivalence is coarser than the Mazurkiewicz equivalence, and in many cases even exponentially coarser. We devise a DPOR exploration of the trace space, called data-centric DPOR, based on the observation equivalence. 1. For acyclic architectures, our algorithm is guaranteed to explore exactly one representative trace from each observation class, while spending polynomial time per class. Hence, our algorithm is optimal wrt the observation equivalence, and in several cases explores exponentially fewer traces than any enumerative method based on the Mazurkiewicz equivalence. 2. For cyclic architectures, we consider an equivalence between traces which is finer than the observation equivalence; but coarser than the Mazurkiewicz equivalence, and in some cases is exponentially coarser. Our data-centric DPOR algorithm remains optimal under this trace equivalence. Finally, we perform a basic experimental comparison between the existing Mazurkiewicz-based DPOR and our data-centric DPOR on a set of academic benchmarks. Our results show a significant reduction in both running time and the number of explored equivalence classes.

研究の動機と目的

  • 並列プログラムの状態非依存モデルチェックにおけるトレース空間の指数的爆発を解決すること。
  • 従来のMazurkiewicz同値性よりも粗い同値関係を設計し、検証の完全性を保つこと。
  • この新しい同値関係に関して最適な動的部分順序還元アルゴリズムを設計すること。
  • 従来のDPOR手法と比較して、実行時間と探索された同値クラスの数において顕著な性能向上を達成すること。

提案手法

  • 2つのトレースが同値であるとは、それぞれの読み取りイベントが同じ書き込みイベントを観察する場合を指す、新しいトレース同値関係「観察同値性」を提案する。
  • 非巡回アーキテクチャにおいて、各観察同値クラスから正確に1つの代表トレースを探索するデータ中心のDPORアルゴリズムを開発する。
  • 効率的な探索のため、観察同値性に適応した即時的な衝突検出と恒続集合技術を用いる。
  • 循環アーキテクチャ向けに、Mazurkiewiczより粗く、観察同値性より細かい、洗練された同値関係を導入する。
  • 従来のSMTベースのアプローチで用いられるNPオракル呼び出しを避けるために、同値クラスごとに多項式時間で計算を実行する。
  • 最適性を保ちつつ、循環アーキテクチャを扱えるようにアルゴリズムを拡張する。

実験結果

リサーチクエスチョン

  • RQ1Mazurkiewicz同値性よりも粗い同値関係を並列プログラムの動的部分順序還元に用いることは可能か?
  • RQ2データ中心の同値関係に関して最適なDPORアルゴリズムを設計することは可能か?
  • RQ3このような同値関係により、従来手法と比較して探索されるトレース数を指数的に削減できるか?
  • RQ4実際のところ、新しいアルゴリズムは既存のDPOR技術と比較してどの程度の性能向上を達成するか?
  • RQ5このアプローチは、効率性と正しさを保ちつつ、循環アーキテクチャに対応できるか?

主な発見

  • 観察同値性はMazurkiewicz同値性よりも粗く、場合によっては指数的に粗いため、探索すべきトレース数を顕著に削減できる。
  • 非巡回アーキテクチャでは、データ中心のDPORアルゴリズムが観察同値クラスごとに正確に1つの代表トレースを探索し、クラスごとに多項式時間で実行され、最適性を満たす。
  • 実験では、探索された同値クラスの数と実行時間が両方とも従来のMazurkiewiczベースのDPORと比較して削減された。
  • 従来のMCRとは異なり、NPオラクル呼び出し(例:SMTソルバ)に依存しないため、クラスごとの最悪ケース計算量が指数的になる問題を回避できる。
  • MCRとは異なり、アルゴリズムは各同値クラスが一度しか探索されないことを保証しており、探索の指数的増大を回避する。
  • 実験結果から、従来のMazurkiewiczベースのDPORと比較して、実行時間と探索されたクラス数の両方で顕著な削減が確認された。

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

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

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

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