SmartMerge: A New Approach to Reconfiguration for Atomic Storage

  • Leander Jehl
  • Roman Vitenberg
  • Hein Meling
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9363)


In this paper, we study reconfiguration mechanisms for atomic storage systems. We observe that the state of the art approach for reconfiguration in an asynchronous environment has several disadvantages compared to the classical consensus-based approach, which requires eventual synchrony. For example, an unfortunate combination of remove operations may lead to a configuration with too few or even no processes. We present SmartMerge, a novel approach that provides most of the benefits of consensus-based reconfiguration, yet can be implemented in a fully asynchronous system. SmartMerge utilizes a merge function to aptly combine concurrently issued changes to both the set of processes and the quorum system of the storage. The approach is general and can use any suitable function.

In addition to the expressive reconfiguration policies enabled by SmartMerge, our atomic storage also has improved efficiency: Every reconfiguration imposes only a constant overhead on concurrent read and write operations.


Atomic storage Reconfiguration Asynchronous system 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Reiss, C., Tumanov, A., Ganger, G.R., Katz, R.H., Kozuch, M.A.: Heterogeneity and dynamicity of clouds at scale: Google trace analysis. In: SOCC (2012)Google Scholar
  2. 2.
    Ardekani, M.S., Terry, D.B.: A self-configurable geo-replicated cloud storage system. In: OSDI (2014)Google Scholar
  3. 3.
    Gilbert, S., Lynch, N.A., Shvartsman, A.A.: Rambo: a robust, reconfigurable atomic memory service for dynamic networks. Distr. Comp. 23(4) (2010)Google Scholar
  4. 4.
    Aguilera, M.K., Keidar, I., Malkhi, D., Shraer, A.: Dynamic atomic storage without consensus. J. ACM 58(2), 7 (2011)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Attiya, H., Bar-Noy, A., Dolev, D.: Sharing memory robustly in message-passing systems. J. ACM 42(1), 124–142 (1995)zbMATHCrossRefGoogle Scholar
  6. 6.
    Leners, J.B., Wu, H., Hung, W.L., Aguilera, M.K., Walfish, M.: Detecting failures in distributed systems with the falcon spy network. In: SOSP (2011)Google Scholar
  7. 7.
    Leners, J.B., Gupta, T., Aguilera, M.K., Walfish, M.: Improving availability in distributed systems with failure informers. In: OSDI (2013)Google Scholar
  8. 8.
    Vickers, S.: Topology Via Logic. Cambridge University Press (1989)Google Scholar
  9. 9.
    Faleiro, J.M., Rajamani, S., Rajan, K., Ramalingam, G., Vaswani, K.: Generalized lattice agreement. In: PODC (2012)Google Scholar
  10. 10.
    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
  11. 11.
    Attiya, H., Herlihy, M., Rachman, O.: Atomic snapshots using lattice agreement. Distrib. Comput. 8(3), 121–132 (1995)CrossRefGoogle Scholar
  12. 12.
    Shraer, A., Martin, J.P., Malkhi, D., Keidar, I.: Data-centric reconfiguration with network-attached disks. In: LADIS (2010)Google Scholar
  13. 13.
    Baldoni, R., Bonomi, S., Kermarrec, A.M., Raynal, M.: Implementing a register in a dynamic distributed system. In: ICDCS (2009)Google Scholar
  14. 14.
    Shao, C., Pierce, E., Welch, J.L.: Multi-writer consistency conditions for shared memory objects. In: Fich, F.E. (ed.) DISC 2003. LNCS, vol. 2848, pp. 106–120. Springer, Heidelberg (2003) CrossRefGoogle Scholar
  15. 15.
    Cachin, C., Guerraoui, R., Rodrigues, L.: Introduction to Reliable and Secure Distributed Programming, 2nd edn. Springer Publishing Company (2011)Google Scholar
  16. 16.
    Lynch, N.A., Shvartsman, A.A.: Robust emulation of shared memory using dynamic quorum-acknowledged broadcasts. In: FTCS (1997)Google Scholar
  17. 17.
    Englert, B., Shvartsman, A.A.: Graceful quorum reconfiguration in a robust emulation of shared memory. In: ICDCS (2000)Google Scholar
  18. 18.
    Rodrigues, R., Liskov, B., Chen, K., Liskov, M., Schultz, D.: Automatic reconfiguration for large-scale reliable storage systems. IEEE Trans. Dependable Secur. Comput. 9(2), 145–158 (2012)CrossRefGoogle Scholar
  19. 19.
    Chockler, G., Gilbert, S., Gramoli, V., Musial, P.M., Shvartsman, A.A.: Reconfigurable distributed storage for dynamic networks. Journal of Parallel and Distributed Computing 69(1), 100–116 (2009)CrossRefGoogle Scholar
  20. 20.
    Martin, J.P., Alvisi, L.: A framework for dynamic byzantine storage. In: DSN (2004)Google Scholar
  21. 21.
    Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)zbMATHMathSciNetCrossRefGoogle Scholar
  22. 22.
    De Prisco, R., Fekete, A., Lynch, N.A., Shvartsman, A.: A dynamic primary configuration group communication service. In: Jayanti, P. (ed.) DISC 1999. LNCS, vol. 1693, pp. 64–78. Springer, Heidelberg (1999) CrossRefGoogle Scholar
  23. 23.
    Schneider, F.B.: Implementing fault-tolerant services using the state machine approach: A tutorial. ACM Comput. Surv. 22(4), 299–319 (1990)CrossRefGoogle Scholar
  24. 24.
    Lamport, L.: The part-time parliament. ACM Trans. Comput. Syst. 16(2), 133–169 (1998)CrossRefGoogle Scholar
  25. 25.
    Shraer, A., Reed, B., Malkhi, D., Junqueira, F.: Dynamic reconfiguration of primary/backup clusters. In: USENIX ATC (2012)Google Scholar
  26. 26.
    Jehl, L., Meling, H.: Asynchronous reconfiguration for paxos state achines. In: ICDCN (2014)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  1. 1.Department of Electrical Engineering and Computer ScienceUniversity of StavangerStavangerNorway
  2. 2.Department of InformaticsUniversity of OsloOsloNorway

Personalised recommendations