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)MathSciNetMATHCrossRefGoogle 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)MATHCrossRefGoogle 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)MATHGoogle Scholar
  6. 6.
    Burns, J.E., Gouda, M.G., Miller, R.E.: Stabilization and pseudo-stabilization. DC 7(1), 35–42 (1993)MATHGoogle 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)MATHGoogle Scholar
  8. 8.
    Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. CACM 17(11), 643–644 (1974)MATHGoogle Scholar
  9. 9.
    Dolev, D., Shavit, N.: Bounded concurrent time-stamping. SIAM J. on Comp. 26(2), 418–455 (1997)MathSciNetMATHCrossRefGoogle 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)MathSciNetMATHGoogle Scholar
  14. 14.
    Fekete, A., Gupta, D., Luchangco, V., Lynch, N., Shvartsman, A.: Eventually-serializable data services. TCS 220(1), 113–156 (1999)MathSciNetMATHCrossRefGoogle 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)MathSciNetMATHCrossRefGoogle 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)MATHGoogle 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)MATHGoogle Scholar
  21. 21.
    Lamport, L.: On interprocess communication. Part ii: Algorithms. DC 1(2), 86–101 (1986)MATHGoogle 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