Recoverable and Detectable Self-Implementations of Swap
Tomer Lev Lehman, Hagit Attiya, and Danny Hendler

TL;DR
This paper introduces two self-implementations of the SWAP operation that are recoverable in different failure models, with proofs of inherent blocking in recovery code for independent failures.
Contribution
It presents novel recoverable self-implementations of SWAP for both system-wide and independent failure models, including an impossibility proof for non-blocking recovery.
Findings
Both algorithms are wait-free in crash-free executions.
Recovery code is inherently blocking in the independent failures model.
Impossibility of non-blocking recoverable implementation proven for distinguishable operations.
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
