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.
CITATION STYLE
Rinberg, A., & Keidar, I. (2020). Brief Announcement: Intermediate Value Linearizability: A Quantitative Correctness Criterion. In Proceedings of the Annual ACM Symposium on Principles of Distributed Computing (pp. 221–223). Association for Computing Machinery. https://doi.org/10.1145/3382734.3405712
Mendeley helps you to discover research relevant for your work.