Decidability and complexity for quiescent consistency and its variations

Quiescent consistency is a notion of correctness for a concurrent object that gives meaning to the object's behaviours in quiescent states, i.e., states in which none of the object's operations are being executed. Correctness of an implementation object is defined in terms of a corresponding abstract specification. This gives rise to two important verification questions: membership (checking whether a behaviour of the implementation is allowed by the specification) and correctness (checking whether all behaviours of the implementation are allowed by the specification). In this paper, we show that the membership problem for quiescent consistency is NP-complete and that the correctness problem is decidable, but coNP-hard and in EXPSPACE. For both problems, we consider restricted versions of quiescent consistency by assuming an upper limit on the number of events between two quiescent points. Here, we show that the membership problem is in PTIME, whereas correctness is in PSPACE. Quiescent consistency does not guarantee sequential consistency, i.e., it allows operation calls by the same process to be reordered when mapping to an abstract specification. Therefore, we also consider quiescent sequential consistency, which strengthens quiescent consistency with an additional sequential consistency condition. We show that the unrestricted versions of membership and correctness are NP-complete and undecidable, respectively. When by placing a limit on the number of events between two quiescent points, membership is in PTIME, while correctness is in PSPACE. Finally, we consider a version of quiescent sequential consistency that places an upper limit on the number of processes for every run of the implementation, and show that the membership problem for quiescent sequential consistency with this restriction is in PTIME.

[1]  Dung T. Huynh The Complexity of Equivalence Problems for Commutative Grammars , 1985, Inf. Control..

[2]  Anthony Widjaja Lin,et al.  Parikh Images of Grammars: Complexity and Applications , 2010, 2010 25th Annual IEEE Symposium on Logic in Computer Science.

[3]  John Derrick,et al.  Verifying Linearisability , 2015, ACM Comput. Surv..

[4]  Rajeev Alur,et al.  Model-Checking of Correctness Conditions for Concurrent Objects , 2000, Inf. Comput..

[5]  A. Meyer Review: Walter J. Savitch, Relationships between Nondeterministic and Deterministic Tape Complexities , 1974 .

[6]  Christoph Haase,et al.  Tightening the Complexity of Equivalence Problems for Commutative Grammars , 2015, STACS.

[7]  Emil L. Post A variant of a recursively unsolvable problem , 1946 .

[8]  Jad Hamza On the Complexity of Linearizability , 2015, NETYS.

[9]  Nir Shavit Data structures in the multicore age , 2011, CACM.

[10]  John L. Gustafson,et al.  Reevaluating Amdahl's law , 1988, CACM.

[11]  S C Kleene,et al.  Representation of Events in Nerve Nets and Finite Automata , 1951 .

[12]  John Derrick,et al.  Admit Your Weakness: Verifying Correctness on TSO Architectures , 2014, FACS.

[13]  Yehuda Afek,et al.  Quasi-Linearizability: Relaxed Consistency for Improved Concurrency , 2010, OPODIS.

[14]  Walter J. Savitch,et al.  Relationships Between Nondeterministic and Deterministic Tape Complexities , 1970, J. Comput. Syst. Sci..

[15]  Clarence A. Ellis,et al.  Consistency and correctness of duplicate database systems , 1977, SOSP '77.

[16]  C. A. R. Hoare,et al.  Data Refinement Refined , 1986, ESOP.

[17]  John Derrick,et al.  Quiescent Consistency: Defining and Verifying Relaxed Linearizability , 2014, FM.

[18]  Radha Jagadeesan,et al.  Between Linearizability and Quiescent Consistency - Quantitative Quiescent Consistency , 2014, ICALP.

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

[20]  Rachid Guerraoui,et al.  On verifying causal consistency , 2016, POPL.

[21]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[22]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[23]  Hendrik Jan Hoogeboom,et al.  Characterizations of the decidability of some problems for regular trace languages , 1989, Mathematical systems theory.

[24]  Klaus Schneider,et al.  Memory Model-Aware Testing - A Unified Complexity Analysis , 2014, ACSD.

[25]  Hongseok Yang,et al.  Parameterised Linearisability , 2014, ICALP.

[26]  Mary Jane Phillips-Matz,et al.  Traces , 1991 .

[27]  Constantin Enea,et al.  Verifying Concurrent Programs against Sequential Specifications , 2013, ESOP.

[28]  Constantin Enea,et al.  On Reducing Linearizability to State Reachability , 2015, ICALP.

[29]  Constantin Enea,et al.  Tractable Refinement Checking for Concurrent Objects , 2015, POPL.

[30]  Thiet-Dung Huynh The Complexity of Semilinear Sets , 1982, J. Inf. Process. Cybern..

[31]  Phillip B. Gibbons,et al.  The complexity of sequential consistency , 1992, [1992] Proceedings of the Fourth IEEE Symposium on Parallel and Distributed Processing.

[32]  Dung T. Huynh A Simple Proof for the Sump2 Upper Bound of the Inequivalence Problem for Semilinear Sets , 1986, J. Inf. Process. Cybern..

[33]  Antoni W. Mazurkiewicz,et al.  Traces, Histories, Graphs: Instances of a Process Monoid , 1984, International Symposium on Mathematical Foundations of Computer Science.

[34]  Robert M. Hierons,et al.  Decidability and Complexity for Quiescent Consistency , 2016, 2016 31st Annual ACM/IEEE Symposium on Logic in Computer Science (LICS).

[35]  Peter W. O'Hearn,et al.  Abstraction for concurrent objects , 2009, Theor. Comput. Sci..

[36]  D. M. Hutton,et al.  The Art of Multiprocessor Programming , 2008 .

[37]  John Derrick,et al.  Defining Correctness Conditions for Concurrent Objects in Multicore Architectures , 2015, ECOOP.

[38]  Ana Sokolova,et al.  Quantitative relaxation of concurrent data structures , 2013, POPL.

[39]  Thomas J. Schaefer,et al.  The complexity of satisfiability problems , 1978, STOC.

[40]  Ali Sezgin Sequential Consistency and Concurrent Data Structures , 2015, ArXiv.

[41]  Maurice Herlihy,et al.  Counting networks , 1994, JACM.