Brief Announcement: Recoverable and Detectable Self-Implementations of Swap

Tomer Lev Lehman, Hagit Attiya, Danny Hendler

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

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.

Original languageEnglish
Title of host publication37th International Symposium on Distributed Computing, DISC 2023
EditorsRotem Oshman
ISBN (Electronic)9783959773010
DOIs
StatePublished - 1 Oct 2023
Event37th International Symposium on Distributed Computing, DISC 2023 - L'Aquila, Italy
Duration: 10 Oct 202312 Oct 2023

Publication series

NameLeibniz International Proceedings in Informatics, LIPIcs
Volume281

Conference

Conference37th International Symposium on Distributed Computing, DISC 2023
Country/TerritoryItaly
CityL'Aquila
Period10/10/2312/10/23

Keywords

  • detectablitly
  • non-volatile memory
  • Persistent memory
  • recoverable objects

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint

Dive into the research topics of 'Brief Announcement: Recoverable and Detectable Self-Implementations of Swap'. Together they form a unique fingerprint.

Cite this