2009 | OriginalPaper | Chapter
Abortable Fork-Linearizable Storage
Authors : Matthias Majuntke, Dan Dobre, Marco Serafini, Neeraj Suri
Published in: Principles of Distributed Systems
Publisher: Springer Berlin Heidelberg
Activate our intelligent search to find suitable subject content or patents.
Select sections of text to find matching patents with Artificial Intelligence. powered by
Select sections of text to find additional relevant content using AI-assisted search. powered by
We address the problem of emulating a shared read/write memory in a message passing system using a storage server prone to Byzantine failures. Although cryptography can be used to ensure confidentiality and integrity of the data, nothing can prevent a malicious server from returning obsolete data. Fork-linearizability [1] guarantees that if a malicious server hides an update of some client from another client, then these two clients will never see each others’ updates again. Fork-linearizability is arguably the strongest consistency property attainable in the presence of a malicious server. Recent work [2] has shown that there is no fork-linearizable shared memory emulation that supports
wait-free
operations. On the positive side, it has been shown that
lock-based
emulations exist [1,2]. Lock-based protocols are fragile because they are blocking if clients may crash. In this paper we present for the first time
lock-free
emulations of fork-linearizable shared memory. We have developed two protocols,
Linear
and
Concur
. With a correct server, both protocols guarantee linearizability and that every operation successfully completes in the absence of step contention, while interfering operations terminate by aborting. The
Concur
algorithm additionally ensures that concurrent operations invoked on different registers complete successfully.