Advertisement

Two Abstractions for Implementing Atomic Objects in Dynamic Systems

  • Roy Friedman
  • Michel Raynal
  • Corentin Travers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3974)

Abstract

Defining appropriate abstractions is one of the main challenges in computer science. This paper investigates two matching abstractions for implementing read/write objects in a dynamic server system prone to crash failures. The first abstraction concerns dynamic quorum systems. The second is a persistent reliable broadcast communication primitive. These two abstractions capture the essence of basic mechanisms allowing the implementation of atomic objects in a distributed system where servers can dynamically enter and leave the system (or crash). A read protocol and a write protocol based on these abstractions are described and proved correct. The properties defining these abstractions can be seen as requirements that are sufficient for implementing a dynamic storage service, while the feasibility conditions that are stated can be seen as necessary requirements. Instantiating the proposed abstractions in different contexts (e.g., settings defined by specific assumptions on failures, synchrony, message delays and processing times) provides as many system specific protocols.

Keywords

Atomic object Communication primitive Crash failures Distributed system Dynamic system Quorum Server Shared memory 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aguilera, M.K.: A Pleasant Stroll Through the Land of Infinitely Many Creatures. ACM SIGACT News, Distributed Computing Column 35(2), 36–59 (2004)CrossRefGoogle Scholar
  2. 2.
    Aguilera, M.K., Gafni, E.: On Using Network Attached Disks as Shared Memory. In: Proc. 21th ACM PODC, pp. 315–324. ACM Press, New York (2003)Google Scholar
  3. 3.
    Alvisi, L., Malkhi, D., Pierce, E., Reiter, M., Wright, R.N.: Dynamic Byzantine Quorum Systems. In: Proc. IEEE Conf. on Depend. Syst. and Networks (DSN 2000), pp. 283–392 (2000)Google Scholar
  4. 4.
    Anceaume, E., Friedman, R., Gradinariu, M., Roy, M.: An Architecture for Dynamic Scalable Self-managed Transactions. In: Meersman, R., Tari, Z. (eds.) OTM 2004. LNCS, vol. 3291, pp. 1445–1462. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  5. 5.
    Attiya, H., Bar-Noy, A., Dolev, D.: Sharing Memory Robustly in Message Passing Systems. Journal of the ACM 42(1), 121–132 (1995)CrossRefzbMATHGoogle Scholar
  6. 6.
    Chandra, T.D., Toueg, S.: Unreliable Failure Detectors for Reliable Distributed Systems. Journal of the ACM 43(2), 225–267 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Delporte-Gallet, C., Fauconnier, H., Guerraoui, R.: Shared memory vs Message Passing. Tech Report IC/2003/77, EPFL, Lausanne (December 2003)Google Scholar
  8. 8.
    Delporte-Gallet, C., Fauconnier, H., Guerraoui, R., Hadzilacos, V., Kouznetsov, P., Toueg, S.: The Weakest Failure Detectors to Solve Certain Fundamental Problems in Distributed Computing. In: Proc. 23rd ACM PODC, pp. 338–346 (2004)Google Scholar
  9. 9.
    Ezhilchelvan, P., Helary, J.-M., Raynal, M.: Building TMR-Based Reliable Servers Despite Bounded Input Lifetime. In: Sakellariou, R., Keane, J.A., Gurd, J.R., Freeman, L. (eds.) Euro-Par 2001. LNCS, vol. 2150, pp. 482–485. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  10. 10.
    Friedman, R.: Using Virtual Synchrony to Develop Efficient Fault Tolerant Distributed Shared Memories. Technical Report 95-1506, Dept. of Computer Science, Cornell University (1995)Google Scholar
  11. 11.
    Friedman, R., Mostefaoui, A., Raynal, M.: Asynchronous Bounded Lifetime Failure Detectors. Information Processing Letters 94, 85–91 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Friedman, R., Raynal, M.: On the Benefits of the Functional Modular Approach in Distributed Data Management Systems. In: Proc. SRDS 2004 IEEE satellite Workshop on Dependable Distributed Data Management (WDDDM 2004), pp. 1–6. IEEE Computer Society Press, Los Alamitos (2004)Google Scholar
  13. 13.
    Friedman, R., Raynal, M., Travers, C.: Two Abstractions for Implementing Atomic Objects in Dynamic Systems. Tech. Report #1692, IRISA, University of Rennes 1 (France) (2005)Google Scholar
  14. 14.
    Garcia-Molina, H., Barbara, D.: How to Assign Votes in a Distributed System. Journal of the ACM 32(4), 841–860 (1985)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Gifford, D.K.: Weighted Voting for Replicated Data. In: Proc. 7th ACM Symposium on Operating Systems Principles (SOSP 1979), pp. 150–162. ACM Press, New York (1979)Google Scholar
  16. 16.
    Guerraoui, R., Raynal, M.: Fault-Tolerance Techniques for Concurrent Objects. Tech Report # 1667, 22 pages, IRISA, Université de Rennes 1 (France) (December 2004)Google Scholar
  17. 17.
    Hadzilacos, V., Toueg, S.: Reliable Broadcast and Related Problems. In: Mullender, S. (ed.) Distributed Systems, pp. 97–145. ACM Press, New York (1993)Google Scholar
  18. 18.
    Helary, J.-M., Mostefaoui, A., Raynal, M.: Interval Consistency of Asynchronous Distributed Computations. Journal of Computer and System Sciences 64(2), 329–349 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Herlihy, M.P.: Dynamic Quorum Adjustment for Partitioned Data. ACM Transactions on Database Systems 12(2), 170–194 (1987)CrossRefGoogle Scholar
  20. 20.
    Herlihy, M.P.: Wait-Free Synchronization. ACM TOPLAS 13(1), 124–149 (1991)CrossRefGoogle Scholar
  21. 21.
    Herlihy, M.P., Wing, J.L.: Linearizability: a Correctness Condition for Concurrent Objects. ACM Transactions on Programming Languages and Systems 12(3), 463–492 (1990)CrossRefGoogle Scholar
  22. 22.
    Lamport, L.: Time, Clocks and the Ordering of Events in a Distributed System. Communications of the ACM 21(7), 558–565 (1978)CrossRefzbMATHGoogle Scholar
  23. 23.
    Lamport, L.: On Interprocess communication. Part I: Formalism. Part II: Algorithms. Distributed Computing 1-2(2), 87–103 (1986)MathSciNetGoogle Scholar
  24. 24.
    Lynch, N.A., 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)CrossRefGoogle Scholar
  25. 25.
    Malkhi, D., Reiter, M.: Byzantine Quorums Systems. Dist. Comp. 11(4), 203–213 (1998)CrossRefGoogle Scholar
  26. 26.
    Martin, J.-P., Alvisi, L.: A Framework for Dynamic Byzantine Storage. In: Proc. IEEE Conf. on Dependable Systems and Networks (DSN 2004), pp. 325–334 (2004)Google Scholar
  27. 27.
    Merritt, M., Taubenfeld, G.: Computing Using Infinitely Many Processes. In: Herlihy, M.P. (ed.) DISC 2000. LNCS, vol. 1914, pp. 164–178. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  28. 28.
    Ratnasamy, S., Handley, M., Francis, P., Karp, R.: A Scalable content-Addressable Network. In: Proc. ACM SIGCOMM Conf. on Applications, Technologies, Architectures, and Protocols for Computer Communication, pp. 161–172. ACM Press, New York (2001)Google Scholar
  29. 29.
    Rodrigues, R., Liskov, B.: Reconfigurable Byzantine Fault-tolerant Atomic Memory. In: Proc. 24th ACM PODC, p. 386. ACM Press, New York (2004)Google Scholar
  30. 30.
    Rowstron, A., Druschel, P.: Pastry: Scalable, Distributed Object Location and Routing for Large Scale peer-to-Peer Systems. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, pp. 329–350. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  31. 31.
    Stoica, I., Morris, R., Liben-Nowell, D., Karger, D., Kaashoek, M.F., Dabek, F., Balakrishnan, H.: Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications. ACM/IEEE Transactions on Networking 11(1), 17–32 (2003)CrossRefGoogle Scholar
  32. 32.
    Thomas, R.H.: A Majority Consensus Approach to Concurrency Control for Multiple Copy Database. ACM Transactions on Database Systems 4(2), 180–229 (1979)CrossRefGoogle Scholar
  33. 33.
    Vitenberg, R., Friedman, R.: On the Locality of Consistency Conditions. In: Fich, F.E. (ed.) DISC 2003. LNCS, vol. 2848, pp. 92–105. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  34. 34.
    Zhao, B., Kubiatowicz, J., Joseph, A.: Tapestry: An Infrastructure for Fault-Tolerant Wide-area Location and Routing. Technical Report UCB/CSD-01-1141, U.C. Berkeley (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Roy Friedman
    • 1
  • Michel Raynal
    • 2
  • Corentin Travers
    • 2
  1. 1.Computer Science Department, TechnionHaifaIsrael
  2. 2.IRISA, Université de Rennes 1RennesFrance

Personalised recommendations