Skip to main content
QUICK REVIEW

[論文レビュー] Brief Announcement: Recoverable and Detectable Self-Implementations of Swap

T. Lehman, Hagit Attiya|arXiv (Cornell University)|Jan 1, 2023
Distributed systems and fault tolerance被引用数 1
ひとこと要約

本稿では、システムワイドな障害モデルおよび独立障害モデルの両方において、読み取り、書き込み、および回復不能なSWAPプリミティブのみを用いて、回復可能で検出可能なSWAP操作の自己実装を初めて提示する。主な貢献は、独立障害モデルにおいて区別可能な操作(例:SWAP)ではロックフリーリカバリが不可能であることを証明し、提案されたアルゴリズムでは回復コードがブロッキングである必要があることを示したことである。

ABSTRACT

Recoverable algorithms tolerate failures and recoveries of processes by using non-volatile memory. Of particular interest are self-implementations of key operations, in which a recoverable operation is implemented from its non-recoverable counterpart (in addition to reads and writes). This paper presents two self-implementations of the SWAP operation. One works in the system-wide failures model, where all processes fail and recover together, and the other in the independent failures model, where each process crashes and recovers independently of the other processes. Both algorithms are wait-free in crash-free executions, but their recovery code is blocking. We prove that this is inherent for the independent failures model. The impossibility result is proved for implementations of distinguishable operations using interfering functions, and in particular, it applies to a recoverable self-implementation of swap.

研究の動機と目的

  • プロセス障害とリカバリを伴う並行システムにおいて、回復可能で検出可能なSWAP操作の自己実装を設計すること。
  • システムワイドおよび独立障害モデルの両方において、非回復可能なSWAPの代替として、読み取り、書き込み、および非回復可能なSWAPプリミティブのみを用いたSWAPの実装に挑戦すること。
  • 独立障害モデルにおいて干渉関数を用いる区別可能な操作(例:SWAP)のロックフリーリカバリが不可能であることを証明すること。
  • 上位レベルの回復可能なデータ構造を可能にするために、基礎的となるNRL準拠のSWAPプリミティブを提供すること。

提案手法

  • 単一のリカバリコーディネータを用いて、システムワイド障害モデルにおけるSWAPの自己実装を提案し、クラッシュなし実行ではウェイトフリーモードを保証するとともに、検出可能性を確保する。
  • 読み取りと書き込みに基づく回復可能な相互排他(RME)ロックを用いて、独立障害モデルにおけるSWAPの自己実装を設計し、ブロッキングリカバリコードを含む。
  • 独立障害モデルにおいて干渉関数を用いた区別可能な操作のロックフリーリカバリが不可能であるという、新しい不可能性証明を採用する。
  • 構成とバリエンシーの議論を用いて、ロックフリーモードの仮定のもとで無限に非終了する実行が生じることを示し、進行性の要件と矛盾することを証明する。
  • この不可能性結果をSWAPの自己実装に特に適用し、test&setおよびfetch&addに関する先行結果を一般化する。
  • 検出可能性と線形化可能性の仕様(NRL)に依存して、回復可能な並行システムにおける正しさとネスティング安全性を保証する。

実験結果

リサーチクエスチョン

  • RQ1システムワイド障害モデルにおいて、読み取り、書き込み、および非回復可能なSWAPプリミティブのみを用いて、回復可能で検出可能なSWAP操作の自己実装が可能か?
  • RQ2独立障害モデルにおいて、通常実行時はウェイトフリーで、リカバリ時に検出可能なSWAPの自己実装を設計することは可能か?
  • RQ3なぜ独立障害モデルにおけるSWAPの自己実装ではブロッキングリカリが必要であり、それは本質的か?
  • RQ4独立障害モデルにおいて、干渉関数を用いた区別可能な操作のロックフリーリカバリが存在可能か?
  • RQ5提案された自己実装は、既存のユニバーサル構成や手作業で作られた永続データ構造と比較して、空間計算量と正しさの点でどのように異なるか?

主な発見

  • 本稿は、読み取り、書き込み、および非回復可能なSWAPプリミティブのみを用いて、システムワイド障害モデルにおいて回復可能で検出可能なSWAP操作の最初の自己実装を提示する。
  • 独立障害モデルに対しても、通常実行時はウェイトフリーだがリカバリ時にブロッキングリカバリコードを必要とするSWAPの自己実装を提案する。
  • 本稿は、独立障害モデルにおいて干渉関数を用いた区別可能な操作のロックフリーリカバリが不可能であることを証明し、このモデルにおけるSWAPの自己実装ではブロッキングリカリが本質的であることを示す。
  • この不可能性結果は、test&setおよびfetch&addに関する先行結果を一般化・統合し、干渉関数を伴う操作にこうした制限が広く適用されることを示す。
  • 提案されたアルゴリズムはO(m × n)の空間計算量を要するが、ここでmはSWAPの呼び出し回数を表し、これはo(m)に削減可能かどうか、あるいはΩ(m)が本質的かどうかは未解決のまま残されている。
  • 本研究は、基礎的となるNRL準拠のSWAPプリミティブを提供することで、将来の回復可能な高レベルデータ構造の構築を可能にする。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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