Skip to main content
QUICK REVIEW

[論文レビュー] Between Linearizability and Quiescent Consistency: Quantitative Quiescent Consistency

Radha Jagadeesan, James Riely|arXiv (Cornell University)|Feb 17, 2014
Distributed systems and fault tolerance参考文献 16被引用数 6
ひとこと要約

本稿では、含量に比例する緩和を許容することで、クiescent一貫性を精緻化し、線形化可能性を緩和する正当性基準である定量的クイiescent一貫性(QQC)を導入する。線形化可能性を緩和するが、高パフォーマンスなデータ構造(例:カウンタ、スタック)がクイiescent一貫性を満たす場合、それらはQQCを満たすことが証明されており、パフォーマンスに配慮した正当性保証を持つ並行システムの推論に、堅牢で構成的な基盤を提供する。

ABSTRACT

Linearizability is the de facto correctness criterion for concurrent data structures. Unfortunately, linearizability imposes a performance penalty which scales linearly in the number of contending threads. Quiescent consistency is an alternative criterion which guarantees that a concurrent data structure behaves correctly when accessed sequentially. Yet quiescent consistency says very little about executions that have any contention. We define quantitative quiescent consistency (QQC), a relaxation of linearizability where the degree of relaxation is proportional to the degree of contention. When quiescent, no relaxation is allowed, and therefore QQC refines quiescent consistency, unlike other proposed relaxations of linearizability. We show that high performance counters and stacks designed to satisfy quiescent consistency continue to satisfy QQC. The precise assumptions under which QQC holds provides fresh insight on these structures. To demonstrate the robustness of QQC, we provide three natural characterizations and prove compositionality.

研究の動機と目的

  • 高並列システムにおける線形化可能性のパフォーマンスペナルティを軽減すること。
  • 含量に基づく緩和の定量的測度を導入することで、クイiescent一貫性を精緻化すること。
  • 線形化可能性とクイiescent一貫性の間をつなぐ、形式的かつ構成的な正当性基準を提供すること。
  • 既存の高パフォーマンスな並行データ構造(例:カウンタ、スタック)が、現実的な仮定のもとでQQCを満たすことを示すこと。
  • パフォーマンス保証付きの緩和一貫性における並行データ構造の検証のための基盤を確立すること。

提案手法

  • QQCは、トレースにおける同時呼び出し数に比例した緩和度を持つ線形化可能性の緩和として定義される。
  • 部分順序を用いたメソッド呼び出しとリターンの形式的定式化が行われ、順序指定仕様に焦点を当てる。
  • QQCの3通りの同等な特徴づけが提示される:線形化可能性風の部分順序に基づくもの、リターン前の呼び出し数を数えるもの、および予測的フラット結合を用いるもの。
  • 線形化可能性と類似したスタイルを用いて、QQCの構成性が証明され、モジュラー検証が可能になる。
  • 適切な条件下で、エリミネーションツリー・スタックや他の既知のデータ構造がQQCを満たすことが確立される。ただし、同じスタック上でポップがプッシュを追い越すことはないものとする。
  • スタックの深さに関する帰納的推論を用いて、再帰的データ構造の構築におけるQQCの証明が行われる。

実験結果

リサーチクエスチョン

  • RQ1クイiescent一貫性を精緻化し、含量に応じて定量的に緩和可能な正当性基準を定義できるか?
  • RQ2並行データ構造における緩和度を、含量レベルと正式に結びつける方法は何か?
  • RQ3カウンターやスタックなどの既存の高パフォーマンス並行データ構造が、現実的な仮定のもとでこの新しい基準を満たすか?
  • RQ4QQCは構成的であるか? すなわち、複雑な並行システムのモジュラー検証を可能にするか?
  • RQ5QQCは、線形化可能性の検証手法に類似した実用的基盤として機能できるか?

主な発見

  • QQCはクイiescent一貫性を精緻化しており、システムがクイiescent状態にあるときに正しく動作することを強制するため、クイiescent一貫性よりも厳密に強い。
  • クイiescent一貫性を目的とした高パフォーマンスなカウンターやスタックは、QQCを満たし続ける。これは、パフォーマンス最適化がQQCを損なわないことを示している。
  • 深さdのエリミネーションツリー・スタックは、同じスタック上でポップがプッシュを追い越さないという条件のもとでのみQQCを満たす。
  • QQCは構成的である。すなわち、部品がQQCを満たす場合、適切な条件下でそれらの合成に対してもQQCが成立する。
  • QQCの3通りの同等な特徴づけが確立された:線形化可能性風の部分順序に基づくもの、リターン前の呼び出し数を数えるもの、および予測的フラット結合を用いるもの。
  • 本稿では、クイiescent一貫性だけでは含量が存在する状況で正しさを保証できないことが特定され、QQCが必要な精緻化を提供することが示された。

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

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

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

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