Crash Resilient and Pseudo-Stabilizing Atomic Registers

  • Shlomi Dolev
  • Swan Dubois
  • Maria Gradinariu Potop-Butucaru
  • Sébastien Tixeuil
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7702)


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.


Fault-Tolerance Pseudo-Stabilization Atomic Register 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abraham, U.: Self-stabilizing timestamps. Theoretical Computer Science 308(1-3), 449–515 (2003)MathSciNetzbMATHCrossRefGoogle Scholar
  2. 2.
    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)CrossRefGoogle Scholar
  3. 3.
    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)CrossRefGoogle Scholar
  4. 4.
    Attiya, H., Bar-Noy, A., Dolev, D.: Sharing memory robustly in message-passing systems. Journal of the ACM 42(1), 124–142 (1995)zbMATHCrossRefGoogle Scholar
  5. 5.
    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)zbMATHGoogle Scholar
  6. 6.
    Burns, J.E., Gouda, M.G., Miller, R.E.: Stabilization and pseudo-stabilization. DC 7(1), 35–42 (1993)zbMATHGoogle Scholar
  7. 7.
    Delporte-Gallet, C., Devismes, S., Fauconnier, H.: Stabilizing leader election in partial synchronous systems with crash failures. JPDC 70(1), 45–58 (2010)zbMATHGoogle Scholar
  8. 8.
    Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. CACM 17(11), 643–644 (1974)zbMATHGoogle Scholar
  9. 9.
    Dolev, D., Shavit, N.: Bounded concurrent time-stamping. SIAM J. on Comp. 26(2), 418–455 (1997)MathSciNetzbMATHCrossRefGoogle Scholar
  10. 10.
    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)MathSciNetCrossRefGoogle Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    Dolev, S., Israeli, A., Moran, S.: Uniform dynamic self-stabilizing leader election. IEEE TPDS 8(4), 424–440 (1997)Google Scholar
  13. 13.
    Dolev, S., Kat, R.I., Schiller, E.M.: When consensus meets self-stabilization. JCSC 76(8), 884–900 (2010)MathSciNetzbMATHGoogle Scholar
  14. 14.
    Fekete, A., Gupta, D., Luchangco, V., Lynch, N., Shvartsman, A.: Eventually-serializable data services. TCS 220(1), 113–156 (1999)MathSciNetzbMATHCrossRefGoogle Scholar
  15. 15.
    Fischer, M.J., Lynch, N.A., Paterson, M.: Impossibility of distributed consensus with one faulty process. Journal of ACM 32(2), 374–382 (1985)MathSciNetzbMATHCrossRefGoogle Scholar
  16. 16.
    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)CrossRefGoogle Scholar
  17. 17.
    Gopal, A.S., Perry, K.J.: Unifying self-stabilization and fault-tolerance (preliminary version). In: PODC 1993, pp. 195–206 (1993)Google Scholar
  18. 18.
    Israeli, A., Li, M.: Bounded time-stamps. DC 6(4), 205–209 (1993)zbMATHGoogle Scholar
  19. 19.
    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)CrossRefGoogle Scholar
  20. 20.
    Lamport, L.: On interprocess communication. Part i: Basic formalism. DC 1(2), 77–85 (1986)zbMATHGoogle Scholar
  21. 21.
    Lamport, L.: On interprocess communication. Part ii: Algorithms. DC 1(2), 86–101 (1986)zbMATHGoogle Scholar
  22. 22.
    Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann Publishers Inc. (1996)Google Scholar
  23. 23.
    Serafini, M., Dobre, D., Majuntke, M., Bokor, P., Suri, N.: Eventually linearizable shared objects. In: PODC 2010, pp. 95–104 (2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Shlomi Dolev
    • 1
  • Swan Dubois
    • 2
  • Maria Gradinariu Potop-Butucaru
    • 3
  • Sébastien Tixeuil
    • 4
  1. 1.Ben-Gurion University of the NegevIsrael
  2. 2.EPFLSwitezerland
  3. 3.UPMC Sorbonne UniversitésFrance
  4. 4.UPMC Sorbonne Universités & IUFFrance

Personalised recommendations