Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Fault-tolerant wait-free shared objects
Journal of the ACM (JACM)
Reaching Agreement in the Presence of Faults
Journal of the ACM (JACM)
Building secure file systems out of byzantine storage
Proceedings of the twenty-first annual symposium on Principles of distributed computing
Obstruction-Free Synchronization: Double-Ended Queues as an Example
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
Abortable and query-abortable objects and their efficient implementation
Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing
Efficient fork-linearizable access to untrusted shared memory
Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing
Lock-free consistency control for web 2.0 applications
Proceedings of the 17th international conference on World Wide Web
Timeliness-based wait-freedom: a gracefully degrading progress condition
Proceedings of the twenty-seventh ACM symposium on Principles of distributed computing
Fork sequential consistency is blocking
Information Processing Letters
The complexity of obstruction-free implementations
Journal of the ACM (JACM)
Beyond one-third faulty replicas in byzantine fault tolerant systems
NSDI'07 Proceedings of the 4th USENIX conference on Networked systems design & implementation
On consistency of encrypted files
DISC'06 Proceedings of the 20th international conference on Distributed Computing
Computing with reads and writes in the absence of step contention
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Venus: verification for untrusted cloud storage
Proceedings of the 2010 ACM workshop on Cloud computing security workshop
Fork-consistent constructions from registers
Proceedings of the 30th annual ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Fork-Consistent constructions from registers
OPODIS'11 Proceedings of the 15th international conference on Principles of Distributed Systems
Hi-index | 0.00 |
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.