Skip to main content

Two Abstractions for Implementing Atomic Objects in Dynamic Systems

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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)

    Article  Google Scholar 

  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. 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. 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)

    Chapter  Google Scholar 

  5. Attiya, H., Bar-Noy, A., Dolev, D.: Sharing Memory Robustly in Message Passing Systems. Journal of the ACM 42(1), 121–132 (1995)

    Article  MATH  Google Scholar 

  6. Chandra, T.D., Toueg, S.: Unreliable Failure Detectors for Reliable Distributed Systems. Journal of the ACM 43(2), 225–267 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  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. 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. 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)

    Chapter  Google Scholar 

  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. Friedman, R., Mostefaoui, A., Raynal, M.: Asynchronous Bounded Lifetime Failure Detectors. Information Processing Letters 94, 85–91 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  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. 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. Garcia-Molina, H., Barbara, D.: How to Assign Votes in a Distributed System. Journal of the ACM 32(4), 841–860 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  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. 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. 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. Helary, J.-M., Mostefaoui, A., Raynal, M.: Interval Consistency of Asynchronous Distributed Computations. Journal of Computer and System Sciences 64(2), 329–349 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  19. Herlihy, M.P.: Dynamic Quorum Adjustment for Partitioned Data. ACM Transactions on Database Systems 12(2), 170–194 (1987)

    Article  Google Scholar 

  20. Herlihy, M.P.: Wait-Free Synchronization. ACM TOPLAS 13(1), 124–149 (1991)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  22. Lamport, L.: Time, Clocks and the Ordering of Events in a Distributed System. Communications of the ACM 21(7), 558–565 (1978)

    Article  MATH  Google Scholar 

  23. Lamport, L.: On Interprocess communication. Part I: Formalism. Part II: Algorithms. Distributed Computing 1-2(2), 87–103 (1986)

    MathSciNet  Google Scholar 

  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)

    Chapter  Google Scholar 

  25. Malkhi, D., Reiter, M.: Byzantine Quorums Systems. Dist. Comp. 11(4), 203–213 (1998)

    Article  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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. 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. 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)

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Friedman, R., Raynal, M., Travers, C. (2006). Two Abstractions for Implementing Atomic Objects in Dynamic Systems. In: Anderson, J.H., Prencipe, G., Wattenhofer, R. (eds) Principles of Distributed Systems. OPODIS 2005. Lecture Notes in Computer Science, vol 3974. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11795490_8

Download citation

  • DOI: https://doi.org/10.1007/11795490_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-36321-7

  • Online ISBN: 978-3-540-36322-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics