Proving Atomicity: An Assertional Approach

Atomicity (or linearizability) is a commonly used consistency criterion for distributed services and objects. Although atomic object implementations are abundant, proving that algorithms achieve atomicity has turned out to be a challenging problem. In this paper, we initiate the study of systema...

Full description

Bibliographic Details
Main Authors: Chockler, Gregory, Lynch, Nancy, Mitra, Sayan, Tauber, Joshua
Other Authors: Theory of Computation
Language:en_US
Published: 2005
Online Access:http://hdl.handle.net/1721.1/30559
_version_ 1826208170137092096
author Chockler, Gregory
Lynch, Nancy
Mitra, Sayan
Tauber, Joshua
author2 Theory of Computation
author_facet Theory of Computation
Chockler, Gregory
Lynch, Nancy
Mitra, Sayan
Tauber, Joshua
author_sort Chockler, Gregory
collection MIT
description Atomicity (or linearizability) is a commonly used consistency criterion for distributed services and objects. Although atomic object implementations are abundant, proving that algorithms achieve atomicity has turned out to be a challenging problem. In this paper, we initiate the study of systematic ways of verifying distributed implementations of atomic objects, beginning with read/write objects (registers). Our general approach is to replace the existing operational reasoning about events and partial orders with assertional reasoning about invariants and simulation relations. To this end, we define an abstract state machine that captures the atomicity property and prove correctness of the object implementations by establishing a simulation mapping between the implementation and the specification automata. We demonstrate the generality of our specification by showing that it is implemented by three different read/write register constructions (the message-passing register emulation of Attiya, Bar-Noy and Dolev, its optimized version based on real time, and the shared memory register construction of Vitanyi and Awerbuch), and by a general atomic object implementation based on the Lamport\'s replicated state machine algorithm.
first_indexed 2024-09-23T14:01:38Z
id mit-1721.1/30559
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T14:01:38Z
publishDate 2005
record_format dspace
spelling mit-1721.1/305592019-04-12T08:26:07Z Proving Atomicity: An Assertional Approach Chockler, Gregory Lynch, Nancy Mitra, Sayan Tauber, Joshua Theory of Computation Atomicity (or linearizability) is a commonly used consistency criterion for distributed services and objects. Although atomic object implementations are abundant, proving that algorithms achieve atomicity has turned out to be a challenging problem. In this paper, we initiate the study of systematic ways of verifying distributed implementations of atomic objects, beginning with read/write objects (registers). Our general approach is to replace the existing operational reasoning about events and partial orders with assertional reasoning about invariants and simulation relations. To this end, we define an abstract state machine that captures the atomicity property and prove correctness of the object implementations by establishing a simulation mapping between the implementation and the specification automata. We demonstrate the generality of our specification by showing that it is implemented by three different read/write register constructions (the message-passing register emulation of Attiya, Bar-Noy and Dolev, its optimized version based on real time, and the shared memory register construction of Vitanyi and Awerbuch), and by a general atomic object implementation based on the Lamport\'s replicated state machine algorithm. 2005-12-22T02:33:34Z 2005-12-22T02:33:34Z 2005-07-22 MIT-CSAIL-TR-2005-048 MIT-LCS-TR-995 http://hdl.handle.net/1721.1/30559 en_US Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory 15 p. 14829213 bytes 699536 bytes application/postscript application/pdf application/postscript application/pdf
spellingShingle Chockler, Gregory
Lynch, Nancy
Mitra, Sayan
Tauber, Joshua
Proving Atomicity: An Assertional Approach
title Proving Atomicity: An Assertional Approach
title_full Proving Atomicity: An Assertional Approach
title_fullStr Proving Atomicity: An Assertional Approach
title_full_unstemmed Proving Atomicity: An Assertional Approach
title_short Proving Atomicity: An Assertional Approach
title_sort proving atomicity an assertional approach
url http://hdl.handle.net/1721.1/30559
work_keys_str_mv AT chocklergregory provingatomicityanassertionalapproach
AT lynchnancy provingatomicityanassertionalapproach
AT mitrasayan provingatomicityanassertionalapproach
AT tauberjoshua provingatomicityanassertionalapproach