Brief Announcement: Intermediate Value Linearizability: A Quantitative Correctness Criterion

Arik Rinberg, Idit Keidar

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

Abstract

A common correctness criterion for concurrent objects is linearizability. Intuitively, under linearizability, when a read overlaps an update, it must return either the object's value before the update or the value after it. Consider, for example, a batched counter supporting "batched" increments, and a single operation that bumps its value from 7 to 10. A read overlapping this update is allowed to return either 7 or 10. In this paper, we propose Intermediate Value Linearizability (IVL), a new correctness criterion that relaxes linearizability to allow returning intermediate values, for instance, 8 in the example above. IVL is applicable to objects whose return values are from a totally ordered set. Roughly speaking, it allows reads to return any value that is bounded between two return values that are legal under linearizability. We show that this added degree of freedom inherently allows for cheaper implementations than linearizability. In particular, we show a lower bound of Ω(n) on the step complexity of the update operation of a wait-free linearizable batched counter, and give a wait-free IVL implementation of the same object with an O(1) step complexity for update.

Original languageEnglish
Title of host publicationPODC 2020 - Proceedings of the 39th Symposium on Principles of Distributed Computing
Pages221-223
Number of pages3
ISBN (Electronic)9781450375825
DOIs
StatePublished - 31 Jul 2020
Event39th Symposium on Principles of Distributed Computing, PODC 2020 - Virtual, Online, Italy
Duration: 3 Aug 20207 Aug 2020

Publication series

NameProceedings of the Annual ACM Symposium on Principles of Distributed Computing

Conference

Conference39th Symposium on Principles of Distributed Computing, PODC 2020
Country/TerritoryItaly
CityVirtual, Online
Period3/08/207/08/20

All Science Journal Classification (ASJC) codes

  • Software
  • Hardware and Architecture
  • Computer Networks and Communications

Cite this