On the k-Atomicity-Verification Problem

Modern Internet-scale storage systems often provide weak consistency in exchange for better performance and resilience. An important weak consistency property is k-atomicity, which bounds the staleness of values returned by read operations. The k-atomicity-verification problem (or k-AV for short) is the problem of deciding whether a given history of operations is k-atomic. The 1-AV problem is equivalent to verifying atomicity/linearizability, a well-known and solved problem. However, for k ≥ 2, no polynomial-time k-AV algorithm is known. This paper makes the following contributions towards solving the k-AV problem. First, we present a simple 2-AV algorithm called LBT, which is likely to be efficient (quasilinear) for histories that arise in practice, although it is less efficient (quadratic) in the worst case. Second, we present a more involved 2-AV algorithm called FZF, which runs efficiently (quasilinear) even in the worst case. To our knowledge, these are the first algorithms that solve the 2-AV problem fully. Third, we show that the weighted k-AV problem, a natural extension of the k-AV problem, is NP-complete.

[1]  Rida A. Bazzi,et al.  On the Availability of Non-strict Quorum Systems , 2005, DISC.

[2]  Jayadev Misra Axioms for Memory Access in Asynchronous Hardware Systems , 1984, Seminar on Concurrency.

[3]  Leslie Lamport,et al.  On interprocess communication , 1986, Distributed Computing.

[4]  James B. Saxe,et al.  Dynamic-Programming Algorithms for Recognizing Small-Bandwidth Graphs in Polynomial Time , 1980, SIAM J. Algebraic Discret. Methods.

[5]  Alon Itai,et al.  On the Complexity of Timetable and Multicommodity Flow Problems , 1976, SIAM J. Comput..

[6]  Xiaozhou Li,et al.  What Consistency Does Your Key-Value Store Actually Provide? , 2010, HotDep.

[7]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[8]  Richard E. Korf,et al.  Depth-First Iterative-Deepening: An Optimal Admissible Tree Search , 1985, Artif. Intell..

[9]  Johanne Cohen,et al.  Optimal Linear Arrangement of Interval Graphs , 2006, MFCS.

[10]  G. Khosrovshahi,et al.  Computing the bandwidth of interval graphs , 1990 .

[11]  David S. Johnson,et al.  COMPLEXITY RESULTS FOR BANDWIDTH MINIMIZATION , 1978 .

[12]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[13]  Richard N. Taylor,et al.  Complexity of analyzing the synchronization structure of concurrent programs , 1983, Acta Informatica.

[14]  Phillip B. Gibbons,et al.  Testing Shared Memories , 1997, SIAM J. Comput..

[15]  Mikko H. Lipasti,et al.  The complexity of verifying memory coherence and consistency , 2005, IEEE Transactions on Parallel and Distributed Systems.

[16]  Christos H. Papadimitriou,et al.  The NP-Completeness of the bandwidth minimization problem , 1976, Computing.

[17]  Brian F. Cooper Spanner: Google's globally-distributed database , 2013, SYSTOR '13.

[18]  Xiaozhou Li,et al.  Analyzing consistency properties for fun and profit , 2011, PODC '11.