skip to main content
10.1145/1281100.1281121acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
Article

Efficient fork-linearizable access to untrusted shared memory

Published: 12 August 2007 Publication History

Abstract

When data is stored on a faulty server that is accessed concurrently by multiple clients, the server may present inconsistent data to different clients. For example, the server might complete a write operation of one client, but respond with stale data to another client. Mazières and Shasha (PODC 2002) introduced the notion of fork-consistency, also called fork-linearizability, which ensures that the operations seen by every client are linearizable and guarantees that if the server causes the views of two clients to differ in a single operation, they may never again see each other's updates after that without the server being exposed as faulty. In this paper, we improve the communication complexity of their fork-linearizable storage access protocol with n clients from Ω(n2) to O(n). We also prove that in every such protocol, a reader must wait for a concurrent writer. This explains a seeming limitation of their and of our improved protocol. Furthermore, we give novel characterizations of fork-linearizability and prove that it is neither stronger nor weaker than sequential consistency.

References

[1]
I. Abraham, G. Chockler, I. Keidar, and D. Malkhi. Byzantine disk Paxos: Optimal resilience with Byzantine shared memory. Distributed Computing, 18(5):387--408, 2006.
[2]
H. Attiya and J. Welch. Distributed Computing: Fundamentals, Simulations and Advanced Topics. Wiley, second edition, 2004.
[3]
M. Blum, W. Evans, P. Gemmell, S. Kannan, and M. Naor. Checking the correctness of memories. Algorithmica, 12:225--244, 1994.
[4]
C. Cachin, A. Shelat, and A. Shraer. Efficient fork-linearizable access to untrusted shared memory. TR RZ3688, IBM Research, Apr. 2007.
[5]
D. Clarke, S. Devadas, M. van Dijk, B. Gassend, and G. E. Suh. Incremental multiset hash functions and their application to memory integrity checking. In ASIACRYPT 2003.
[6]
D. Clarke, G. E. Suh, B. Gassend, A. Sudan, M. van Dijk, and S. Devadas. Towards constant bandwidth overhead integrity checking of untrusted data. In Proc. 26th IEEE Symposium on Security & Privacy, 2005.
[7]
K. Fu, F. Kaashoek, and D. Mazières. Fast and secure distributed read-only file system. ACM Transactions on Computer Systems, 20(1):1--24, Feb. 2002.
[8]
K. E. Fu. Group sharing and random access in cryptographic storage file systems. Master Thesis, MIT LCS, 1998.
[9]
M. Herlihy. Wait-free synchronization. ACM Transactions on Programming Languages and Systems, 11(1):124--149, Jan. 1991.
[10]
M. Herlihy, V. Luchangco, and M. Moir. Obstruction-free synchronization: Double-ended queues as an example. In ICDCS 2003, pages 522--529.
[11]
M. P. Herlihy and J. M. Wing. Linearizability: A correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems, 12(3):463--492, July 1990.
[12]
P. Jayanti, T. D. Chandra, and S. Toueg. Fault-tolerant wait-free shared objects. J. ACM, 45(3):451--500, May 1998.
[13]
L. Lamport. On interprocess communication. Distributed Computing, 1(2):77--85, 86--101, 1986.
[14]
J. Li, M. Krohn, D. Mazires, and D. Shasha. Secure untrusted data repository (SUNDR). In OSDI, pages 121--136, 2004.
[15]
N. A. Lynch. Distributed Algorithms. Morgan Kaufmann, San Francisco, 1996.
[16]
N. A. Lynch and M. R. Tuttle. An introduction to input/output automata. CWI Quaterly, 2(3):219--246, Sept. 1989.
[17]
J.-P. Martin, L. Alvisi, and M. Dahlin. Minimal Byzantine storage. In DISC 2002, pages 311--325.
[18]
D. Mazières and D. Shasha. Building secure file systems out of Byzantine storage. In PODC, pages 108--117, 2002.
[19]
A. Oprea and M. K. Reiter. On consistency of encrypted files. In DISC, pages 254--268, 2006.
[20]
M. Pease, R. Shostak, and L. Lamport. Reaching agreement in the presence of faults. J. ACM, 27(2):228--234, Apr. 1980.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PODC '07: Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing
August 2007
424 pages
ISBN:9781595936165
DOI:10.1145/1281100
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 August 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. arbitrary failures
  2. fork-consistency
  3. storage emulations

Qualifiers

  • Article

Conference

PODC07

Acceptance Rates

Overall Acceptance Rate 740 of 2,477 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media