Abstract

In the quest for higher-performance shared data structures, weakening consistency conditions and relaxing the sequential specifications of data types are two of the primary tools available in the literature today. In this paper, we show that these two approaches are in many cases different ways to specify the same sets of allowed concurrent behaviors of a given shared data object. This equivalence allows us to use whichever description is clearer, simpler, or easier to achieve equivalent guarantees. Specifically, for three common data type relaxations, we define consistency conditions such that the combination of the new consistency condition and an unrelaxed type allows the same behaviors as Linearizability and the relaxed version of the data type. Conversely, for the consistency condition k-Atomicity, we define a new data type relaxation such that the behaviors allowed by the relaxed version of a data type, combined with Linearizability, are the same as those allowed by k-Atomicity and the original type. As an example of the possibilities opened by our new equivalence, we use standard techniques from the literature on consistency conditions to prove that the three data type relaxations we consider are not comparable to one another or to several similar known conditions. Finally, we show a particular class of data types where one of our newly-defined consistency conditions is comparable to, and stronger than, one of the known consistency conditions we consider.

Highlights

  • Introduction and BackgroundShared data types are an essential abstraction in distributed computing, as they provide a consistent interface for multiple processes to interact with shared data

  • We show that the combination of Linearizability and three data type relaxations common in the literature, k-Out-of-Order, k-Lateness, and k-Stuttering [10], can be alternately defined as consistency conditions

  • In the two sections, we show by example that some relaxed data types under Linearizability can be equivalently defined as their base types under weaker consistency conditions and vice versa

Read more

Summary

Introduction and Background

Shared data types are an essential abstraction in distributed computing, as they provide a consistent interface for multiple processes to interact with shared data. Attiya et al [2] showed that it is impossible to linearizably implement many common data types without expensive synchronization steps; Attiya and Welch [3] showed that Linearizability is necessarily more expensive than sequential consistency; Lipton and Sandberg [4] showed that requiring even a consistency weaker than Linearizability is expensive; and Wang et al [5] and Talmage and Welch [6] showed lower bounds on the worst-case and amortized cost of certain operations under Linearizability To avoid this cost, many weaker consistency conditions have been proposed (see Viotti and Vukolic [7] for a review of consistency conditions in the literature), allowing more concurrent executions while providing weaker guarantees on the behavior of shared objects. This paper extends that work by including proofs and adding Section 7’s discussion of hybrid consistencies

An Abstract
Consistency Conditions
Relaxed Data Types
Converting Relaxations to Consistency Conditions
Consistency Condition to Relaxation
Placing New Consistency Conditions
Application
Findings
Conclusions and Future Work
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call