Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

The collective memory of amnesic processes

Published: 28 March 2008 Publication History

Abstract

This article considers the problem of robustly emulating a shared atomic memory over a distributed message-passing system where processes can fail by crashing and possibly recover. We revisit the notion of atomicity in the crash-recovery context and introduce a generic algorithm that emulates an atomic memory. The algorithm is instantiated for various settings according to whether processes have access to local stable storage, and whether, in every execution of the algorithm, a sufficient number of processes are assumed not to crash. We establish the optimality of specific instances of our algorithm in terms of resilience, log complexity (number of stable storage accesses needed in every read or write operation), as well as time complexity (number of communication steps needed in every read or write operation). The article also discusses the impact of considering a multiwriter versus a single-writer memory, as well as the impact of weakening the consistency of the memory by providing safe or regular semantics instead of atomicity.

References

[1]
Aguilera, M., Chen, W., and Toueg, S. 1998. Failure detection and consensus in the crash-recovery model. In Proceedings of the 12th International Symposium on Distributed Computing (DISC). Also ACM Trans. Program. Lang. Syst. 231--245.
[2]
Attiya, H. 2000. Efficient and robust sharing of memory in message-passing systems. J. Algor. 34, 1, 109--127.
[3]
Attiya, H., Bar-Noy, A., and Dolev, D. 1995. Sharing memory robustly in a message passing system. J. ACM 42, 1, 124--142.
[4]
Attiya, H., and Welch, J. 1998. Distributed Computing, Fundamentals, Simulations and Advanced Topics. McGraw-Hill International, UK.
[5]
Boichat, R., and Guerraoui, R. 2005. Reliable and total order broadcast in a crash-recovery model. J. Parallel Distrib. Comput. to appear.
[6]
Dutta, P., Guerraoui, R., Levy, R. R., and Chakraborty, A. 2004. How fast can a distributed atomic read be? In Proceedings of the 23rd Annual ACM Symposium on Principles of Distributed Computing (PODC). ACM Press, 236--245.
[7]
Herlihy, M. 1991. Wait-Free synchronization. ACM Trans. Program. Lang. Syst. 11, 1, 124--149.
[8]
Herlihy, M., and Wing, J. 1990. Linearizability: A correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12, 3, 463--492.
[9]
Lamport, L. 1995. How to write a proof. Amer. Math. Mon. 102, 7, 600--608.
[10]
Lamport, L. 1985. On interprocess communication - Part i: Basic formalism, Part ii: Algorithms. DEC SRC Rep. 8. Also in Distrib. Comput. 1 (1986), 77--101.
[11]
Lamport, L. 1978. Time, clocks and the ordering of events in a distributed system. Commun. ACM 21, 7, 558--565.
[12]
Lynch, N. 1996. Distributed Algorithms. Morgan Kaufmann, San Mateo, CA.
[13]
Lynch, N., and Shvartsman, A. 2002. Rambo: A reconfigurable atomic memory service for dynamic networks. In Proceedings of the 16th International Symposium on Distributed Computing (DISC).
[14]
Lynch, N., and Shvartsman, A. 1997. Robust emulation of shared memory using dynamic quorum-acknowledged broadcasts. In Proceedings of the 27th International Symposium on Fault-Tolerant Computing Systems (FTCS).
[15]
Shao, C., Pierce, E., and Welch, J. 2003. Multi-Writer consistency conditions for shared memory objects. In Proceedings of the 17th International Symposium on Distributed Computing (DISC).

Cited By

View all
  • (2018)A New Method of Live Tracking of Process MemoryProceedings of the 2nd International Conference on Cryptography, Security and Privacy10.1145/3199478.3199497(154-158)Online publication date: 16-Mar-2018
  • (2017)A Layered Architecture for Erasure-Coded Consistent Distributed StorageProceedings of the ACM Symposium on Principles of Distributed Computing10.1145/3087801.3087832(63-72)Online publication date: 25-Jul-2017
  • (2016)Implementing set objects in dynamic distributed systemsJournal of Computer and System Sciences10.1016/j.jcss.2015.11.00282:5(654-689)Online publication date: 1-Aug-2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Algorithms
ACM Transactions on Algorithms  Volume 4, Issue 1
March 2008
343 pages
ISSN:1549-6325
EISSN:1549-6333
DOI:10.1145/1328911
Issue’s Table of Contents
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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 March 2008
Accepted: 01 January 2007
Revised: 01 December 2006
Received: 01 April 2005
Published in TALG Volume 4, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Atomic registers
  2. crash recovery
  3. log complexity
  4. shared-memory emulation

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)20
  • Downloads (Last 6 weeks)10
Reflects downloads up to 13 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2018)A New Method of Live Tracking of Process MemoryProceedings of the 2nd International Conference on Cryptography, Security and Privacy10.1145/3199478.3199497(154-158)Online publication date: 16-Mar-2018
  • (2017)A Layered Architecture for Erasure-Coded Consistent Distributed StorageProceedings of the ACM Symposium on Principles of Distributed Computing10.1145/3087801.3087832(63-72)Online publication date: 25-Jul-2017
  • (2016)Implementing set objects in dynamic distributed systemsJournal of Computer and System Sciences10.1016/j.jcss.2015.11.00282:5(654-689)Online publication date: 1-Aug-2016
  • (2012)Implementing a Regular Register in an Eventually Synchronous Distributed System Prone to Continuous ChurnIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2011.9723:1(102-109)Online publication date: 1-Jan-2012
  • (2008)Optimistic Erasure-Coded Distributed StorageProceedings of the 22nd international symposium on Distributed Computing10.1007/978-3-540-87779-0_13(182-196)Online publication date: 22-Sep-2008

View Options

Login options

Full Access

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