Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Strict Linearizability and Abstract Atomicity #42

Open
brianhempel opened this issue Jul 9, 2018 · 0 comments
Open

Strict Linearizability and Abstract Atomicity #42

brianhempel opened this issue Jul 9, 2018 · 0 comments

Comments

@brianhempel
Copy link
Contributor

brianhempel commented Jul 9, 2018

Strict Linearizability and Abstract Atomicity
Tangliu Wen and Lan Song
https://arxiv.org/pdf/1806.08128

Linearizability is a commonly accepted consistency condition for concurrent objects. Filipovi'{c} et al. show that linearizability is equivalent to observational refinement. However, linearizability does not permit concurrent objects to share memory spaces with their client programs. We show that linearizability (or observational refinement) can be broken even though a client program of an object accesses the shared memory spaces without interference from the methods of the object. In this paper, we present strict linearizability which lifts this limitation and can ensure client-side traces and final-states equivalence even in a relaxed program model allowing clients to directly access the states of concurrent objects. We also investigate several important properties of strict linearizability.

At a high level of abstraction, a concurrent object can be viewed as a concurrent implementation of an abstract data type (ADT). We also present a correctness criterion for relating an ADT and its concurrent implementation, which is the combination of linearizability and data abstraction and can ensure observational equivalence. We also investigate its relationship with strict linearizability.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant