Abstract
A concurrent object is an object that can be concurrently accessed by several processes. It has been shown by Maurice Herlihy that any concurrent object O defined by a sequential specification can be wait-free implemented from reliable atomic registers (shared variables) and consensus objects. Wait-free means that any invocation of an operation of the object O issued by a non-faulty process does terminate, whatever the behavior of the other processes (e.g., despite the fact they are very slow or even have crashed).
So, an important issue consists in providing reliable atomic registers and reliable consensus objects despite the failures experienced by the base objects from which these atomic registers and consensus objects are built. This paper considers self-implementations, i.e., the case where a reliable atomic register (resp., consensus object) is built from unreliable atomic registers (resp., unreliable consensus objects). The paper addresses the object failure model where the base objects can suffer responsive or nonresponsive crash failures. When there are solutions the paper presents corresponding algorithms, and when there is no solution, it presents the corresponding impossibility result. The paper has a tutorial flavor whose aim is to make the reader familiar with important results when one has to build resilient concurrent objects. To that aim, the paper use both algorithms from the literature and new algorithms.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Attiya, H., Welch, J.: Distributed Computing: Fundamentals, Simulations and Advanced Topics, p. 451. McGraw-Hill, New York (1998)
Chandra, T., Toueg, S.: Unreliable Failure Detectors for Resilient Distributed Systems. Journal of the ACM 43(2), 225–267 (1996)
Guerraoui, R., Raynal, M.: A Universal Construction for Wait-free Objects. In: FOFDC 2007. Proc. ARES 2007 Workshop on Foundations of Fault-tolerant Distributed Computing, IEEE Society Computer Press, Vienna (Austria) (2007)
Herlihy, M.P.: Wait-Free Synchronization. ACM TOPLAS 13(1), 124–149 (1991)
Herlihy, M.P., Wing, J.M: Linearizability: a Correctness Condition for Concurrent Objects. ACM TOPLAS 12(3), 463–492 (1990)
Hoare, C.A.R.: Monitors: an Operating System Structuring Concept. Comm. ACM 17(10), 549–557 (1974)
Jayanti, P., Chandra, T., Toueg, S.: Fault-Tolerant Wait-Free Shared Objects. Journal of the ACM 45(3), 451–500 (1998)
Lamport, L.: Concurrent Reading and Writing. Comm. ACM 20(11), 806–811 (1977)
Lamport, L.: On Interprocess Communication, Part 1: Models, Part 2: Algorirhms. Distributed Computing 1(2), 77–101 (1986)
Raynal, M.: A Short Introduction to Failure Detectors for Asynchronous Distributed Systems. ACM Sigact News, Distributed Computing Column 36(1), 53–70 (2005)
Vitányi, P., Awerbuch, B.: Atomic Shared Register Access by Asynchronous Hardware. In: FOCS 1986. Proc. 27th IEEE Symposium on Foundations of Computer Science, pp. 233–243. IEEE Computer Society Press, Los Alamitos (1986)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Guerraoui, R., Raynal, M. (2007). From Unreliable Objects to Reliable Objects: The Case of Atomic Registers and Consensus. In: Malyshkin, V. (eds) Parallel Computing Technologies. PaCT 2007. Lecture Notes in Computer Science, vol 4671. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73940-1_5
Download citation
DOI: https://doi.org/10.1007/978-3-540-73940-1_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-73939-5
Online ISBN: 978-3-540-73940-1
eBook Packages: Computer ScienceComputer Science (R0)