Abstract
We propose a crash safe and pseudo-stabilizing algorithm for implementing an atomic memory abstraction in a message passing system. Our algorithm is particularly appealing for multi-core architectures where both processors and memory contents (including stale messages in transit) are prone to errors and faults. Our algorithm extends the classical fault-tolerant implementation of atomic memory that was originally proposed by Attiya, Bar-Noy, and Dolev (ABD) to a stabilizing setting where memory can be initially corrupted in an arbitrary manner. The original ABD algorithm provides no guaranties when started in such a corrupted configuration. Interestingly, our scheme preserves the same properties as ABD when there are no transient faults, namely the linearizability of operations. When started in an arbitrarily corrupted initial configuration, we still guarantee eventual yet suffix-closed linearizability.
The research of the first author has been supported by the Ministry of Science and Technology, the Institute for Future Defense Technologies Research named for the Medvedi, Shwartzman and Gensler Families, the Israel Internet Association, the Lynne and William Frankel Center for Computer Science at Ben-Gurion University, Rita Altura Trust Chair in Computer Science, Israel Science Foundation (grant number 428/11), Cabarnit Cyber Security MAGNET Consortium and MAFAT. The research of the other authors has been supported in part by ANR project SHAMAN.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Abraham, U.: Self-stabilizing timestamps. Theoretical Computer Science 308(1-3), 449–515 (2003)
Alon, N., Attiya, H., Dolev, S., Dubois, S., Potop-Butucaru, M., Tixeuil, S.: Pragmatic Self-stabilization of Atomic Memory in Message-Passing Systems. In: Défago, X., Petit, F., Villain, V. (eds.) SSS 2011. LNCS, vol. 6976, pp. 19–31. Springer, Heidelberg (2011)
Anagnostou, E., Hadzilacos, V.: Tolerating Transient and Permanent Failures (Extended Abstract). In: Schiper, A. (ed.) WDAG 1993. LNCS, vol. 725, pp. 174–188. Springer, Heidelberg (1993)
Attiya, H., Bar-Noy, A., Dolev, D.: Sharing memory robustly in message-passing systems. Journal of the ACM 42(1), 124–142 (1995)
Beauquier, J., Kekkonen-Moneta, S.: Fault-tolerance and self stabilization: impossibility results and solutions using self-stabilizing failure detectors. IJSS 28(11), 1177–1187 (1997)
Burns, J.E., Gouda, M.G., Miller, R.E.: Stabilization and pseudo-stabilization. DC 7(1), 35–42 (1993)
Delporte-Gallet, C., Devismes, S., Fauconnier, H.: Stabilizing leader election in partial synchronous systems with crash failures. JPDC 70(1), 45–58 (2010)
Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. CACM 17(11), 643–644 (1974)
Dolev, D., Shavit, N.: Bounded concurrent time-stamping. SIAM J. on Comp. 26(2), 418–455 (1997)
Dolev, S., Dubois, S., Potop-Butucaru, M., Tixeuil, S.: Stabilizing data-link over non-fifo channels with optimal fault-resilience. IPL 111(18), 912–920 (2011)
Dolev, S., Herman, T.: Dijkstra’s Self-Stabilizing Algorithm in Unsupportive Environments. In: Datta, A.K., Herman, T. (eds.) WSS 2001. LNCS, vol. 2194, pp. 67–81. Springer, Heidelberg (2001)
Dolev, S., Israeli, A., Moran, S.: Uniform dynamic self-stabilizing leader election. IEEE TPDS 8(4), 424–440 (1997)
Dolev, S., Kat, R.I., Schiller, E.M.: When consensus meets self-stabilization. JCSC 76(8), 884–900 (2010)
Fekete, A., Gupta, D., Luchangco, V., Lynch, N., Shvartsman, A.: Eventually-serializable data services. TCS 220(1), 113–156 (1999)
Fischer, M.J., Lynch, N.A., Paterson, M.: Impossibility of distributed consensus with one faulty process. Journal of ACM 32(2), 374–382 (1985)
Gawlick, R., Lynch, N., Shavit, N.: Concurrent Timestamping Made Simple. In: Dolev, D., Rodeh, M., Galil, Z. (eds.) ISTCS 1992. LNCS, vol. 601, pp. 171–183. Springer, Heidelberg (1992)
Gopal, A.S., Perry, K.J.: Unifying self-stabilization and fault-tolerance (preliminary version). In: PODC 1993, pp. 195–206 (1993)
Israeli, A., Li, M.: Bounded time-stamps. DC 6(4), 205–209 (1993)
Johnen, C., Higham, L.: Fault-Tolerant Implementations of Regular Registers by Safe Registers with Applications to Networks. In: Garg, V., Wattenhofer, R., Kothapalli, K. (eds.) ICDCN 2009. LNCS, vol. 5408, pp. 337–348. Springer, Heidelberg (2008)
Lamport, L.: On interprocess communication. Part i: Basic formalism. DC 1(2), 77–85 (1986)
Lamport, L.: On interprocess communication. Part ii: Algorithms. DC 1(2), 86–101 (1986)
Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann Publishers Inc. (1996)
Serafini, M., Dobre, D., Majuntke, M., Bokor, P., Suri, N.: Eventually linearizable shared objects. In: PODC 2010, pp. 95–104 (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dolev, S., Dubois, S., Gradinariu Potop-Butucaru, M., Tixeuil, S. (2012). Crash Resilient and Pseudo-Stabilizing Atomic Registers. In: Baldoni, R., Flocchini, P., Binoy, R. (eds) Principles of Distributed Systems. OPODIS 2012. Lecture Notes in Computer Science, vol 7702. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35476-2_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-35476-2_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-35475-5
Online ISBN: 978-3-642-35476-2
eBook Packages: Computer ScienceComputer Science (R0)