# On Liveness of Dynamic Storage

## Abstract

Dynamic distributed storage algorithms such as DynaStore, Reconfigurable Paxos, RAMBO, and RDS, do not ensure liveness (wait-freedom) in asynchronous runs with infinitely many reconfigurations. We prove that this is inherent for asynchronous dynamic storage algorithms. Our result holds even if only one process may fail, provided that machines that were successfully removed from the system’s configuration can be switched off by a system administrator. To circumvent this result, we define a dynamic eventually perfect failure detector, and present an algorithm that uses it to emulate wait-free dynamic atomic storage. Though some of the previous algorithms have been designed for eventually synchronous models, to the best of our knowledge, our algorithm is the first to ensure liveness for all operations without restricting the reconfiguration rate.

## References

- 1.Aguilera, M.K., Keidar, I., Malkhi, D., Martin, J.P., Shraer, A., et al.: Reconfiguring replicated atomic storage: a tutorial. Bull. EATCS
**102**, 84–108 (2010)MathSciNetzbMATHGoogle Scholar - 2.Aguilera, M.K., Keidar, I., Malkhi, D., Shraer, A.: Dynamic atomic storage without consensus. J. ACM
**58**(2), 7 (2011)MathSciNetCrossRefzbMATHGoogle Scholar - 3.Attiya, H., Bar-Noy, A., Dolev, D.: Sharing memory robustly in message-passing systems. J. ACM (JACM)
**42**(1), 124–142 (1995)CrossRefzbMATHGoogle Scholar - 4.Attiya, H., Chung, H.C., Ellen, F., Kumar, S., Welch, J.L.: Simulating a shared register in an asynchronous system that never stops changing. In: Moses, Y. (ed.) DISC 2015. LNCS, vol. 9363, pp. 75–91. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48653-5_6 CrossRefGoogle Scholar
- 5.Baldoni, R., Bonomi, S., Kermarrec, A.M., Raynal, M.: Implementing a register in a dynamic distributed system. In: 29th IEEE International Conference on Distributed Computing Systems, ICDCS 2009, pp. 639–647. IEEE (2009)Google Scholar
- 6.Baldoni, R., Bonomi, S., Raynal, M.: Regular register: an implementation in a churn prone environment. In: Kutten, S., Žerovnik, J. (eds.) SIROCCO 2009. LNCS, vol. 5869, pp. 15–29. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-11476-2_3 CrossRefGoogle Scholar
- 7.Baldoni, R., Bonomi, S., Raynal, M.: Implementing a regular register in an eventually synchronous distributed system prone to continuous churn. IEEE Trans. Parallel Distrib. Syst.
**23**(1), 102–109 (2012)CrossRefGoogle Scholar - 8.Birman, K., Malkhi, D., Van Renesse, R.: Virtually synchronous methodology for dynamic service replication (2010)Google Scholar
- 9.Chockler, G., Gilbert, S., Gramoli, V., Musial, P.M., Shvartsman, A.A.: Reconfigurable distributed storage for dynamic networks. J. Parallel Distrib. Comput.
**69**(1), 100–116 (2009)CrossRefzbMATHGoogle Scholar - 10.Chockler, G.V., Keidar, I., Vitenberg, R.: Group communication specifications: a comprehensive study. ACM Comput. Surv. (CSUR)
**33**(4), 427–469 (2001)CrossRefGoogle Scholar - 11.Dwork, C., Lynch, N., Stockmeyer, L.: Consensus in the presence of partial synchrony. J. ACM
**35**(2), 288–323 (1988)MathSciNetCrossRefGoogle Scholar - 12.Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM
**32**(2), 374–382 (1985)MathSciNetCrossRefzbMATHGoogle Scholar - 13.Gafni, E., Malkhi, D.: Elastic configuration maintenance via a parsimonious speculating snapshot solution. In: Moses, Y. (ed.) DISC 2015. LNCS, vol. 9363, pp. 140–153. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48653-5_10 CrossRefGoogle Scholar
- 14.Gilbert, S., Lynch, N., Shvartsman, A.: RAMBO II: rapidly reconfigurable atomic memory for dynamic networks. In: DSN. IEEE Computer Society (2003)Google Scholar
- 15.Gilbert, S., Lynch, N.A., Shvartsman, A.A.: RAMBO: a robust, reconfigurable atomic memory service for dynamic networks. Distrib. Comput.
**23**(4), 225–272 (2010)CrossRefzbMATHGoogle Scholar - 16.Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst.
**12**(3), 463–492 (1990)CrossRefGoogle Scholar - 17.Jehl, L., Meling, H.: The case for reconfiguration without consensus. In: Proceedings of the 2016 ACM Symposium on Principles of Distributed Computing. ACM (2016)Google Scholar
- 18.Jehl, L., Vitenberg, R., Meling, H.: SmartMerge: a new approach to reconfiguration for atomic storage. In: Moses, Y. (ed.) DISC 2015. LNCS, vol. 9363, pp. 154–169. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48653-5_11 CrossRefGoogle Scholar
- 19.Ko, S.Y., Hoque, I., Gupta, I.: Using tractable and realistic churn models to analyze quiescence behavior of distributed protocols. In: IEEE Symposium on Reliable Distributed Systems, SRDS 2008, pp. 259–268. IEEE (2008)Google Scholar
- 20.Lamport, L.: On interprocess communication. Distrib. Comput.
**1**(2), 86–101 (1986)MathSciNetCrossRefzbMATHGoogle Scholar - 21.Lamport, L., Malkhi, D., Zhou, L.: Reconfiguring a state machine. ACM SIGACT News
**41**(1), 63–73 (2010)CrossRefGoogle Scholar - 22.Lin, K., Hadzilacos, V.: Asynchronous group membership with oracles. In: Jayanti, P. (ed.) DISC 1999. LNCS, vol. 1693, pp. 79–94. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48169-9_6 CrossRefGoogle Scholar
- 23.Lynch, N., Shvartsman, A.A.: RAMBO: a reconfigurable atomic memory service for dynamic networks. In: Malkhi, D. (ed.) DISC 2002. LNCS, vol. 2508, pp. 173–190. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-36108-1_12 CrossRefGoogle Scholar
- 24.Mostefaoui, A., Raynal, M., Travers, C., Patterson, S., Agrawal, D., Abbadi, A.E.: From static distributed systems to dynamic systems. In: 24th IEEE Symposium on Reliable Distributed Systems, SRDS 2005, pp. 109–118. IEEE (2005)Google Scholar
- 25.Shraer, A., Martin, J.P., Malkhi, D., Keidar, I.: Data-centric reconfiguration with network-attached disks. In: LADIS 2010 (2010)Google Scholar
- 26.Spiegelman, A., Keidar, I., Malkhi, D.: Dynamic reconfiguration: a tutorial. In: OPODIS (2015)Google Scholar
- 27.Spiegelman, A., Keidar, I., Malkhi, D.: Dynamic reconfiguration: abstraction and optimal asynchronous solution. In: DISC (2017)Google Scholar