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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aguilera, M.K.: A Pleasant Stroll Through the Land of Infinitely Many Creatures. ACM SIGACT News, Distributed Computing Column 35(2), 36–59 (2004)
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)
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)
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)
Attiya, H., Bar-Noy, A., Dolev, D.: Sharing Memory Robustly in Message Passing Systems. Journal of the ACM 42(1), 121–132 (1995)
Chandra, T.D., Toueg, S.: Unreliable Failure Detectors for Reliable Distributed Systems. Journal of the ACM 43(2), 225–267 (1996)
Delporte-Gallet, C., Fauconnier, H., Guerraoui, R.: Shared memory vs Message Passing. Tech Report IC/2003/77, EPFL, Lausanne (December 2003)
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)
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)
Friedman, R.: Using Virtual Synchrony to Develop Efficient Fault Tolerant Distributed Shared Memories. Technical Report 95-1506, Dept. of Computer Science, Cornell University (1995)
Friedman, R., Mostefaoui, A., Raynal, M.: Asynchronous Bounded Lifetime Failure Detectors. Information Processing Letters 94, 85–91 (2005)
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)
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)
Garcia-Molina, H., Barbara, D.: How to Assign Votes in a Distributed System. Journal of the ACM 32(4), 841–860 (1985)
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)
Guerraoui, R., Raynal, M.: Fault-Tolerance Techniques for Concurrent Objects. Tech Report # 1667, 22 pages, IRISA, Université de Rennes 1 (France) (December 2004)
Hadzilacos, V., Toueg, S.: Reliable Broadcast and Related Problems. In: Mullender, S. (ed.) Distributed Systems, pp. 97–145. ACM Press, New York (1993)
Helary, J.-M., Mostefaoui, A., Raynal, M.: Interval Consistency of Asynchronous Distributed Computations. Journal of Computer and System Sciences 64(2), 329–349 (2002)
Herlihy, M.P.: Dynamic Quorum Adjustment for Partitioned Data. ACM Transactions on Database Systems 12(2), 170–194 (1987)
Herlihy, M.P.: Wait-Free Synchronization. ACM TOPLAS 13(1), 124–149 (1991)
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)
Lamport, L.: Time, Clocks and the Ordering of Events in a Distributed System. Communications of the ACM 21(7), 558–565 (1978)
Lamport, L.: On Interprocess communication. Part I: Formalism. Part II: Algorithms. Distributed Computing 1-2(2), 87–103 (1986)
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)
Malkhi, D., Reiter, M.: Byzantine Quorums Systems. Dist. Comp. 11(4), 203–213 (1998)
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)
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)
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)
Rodrigues, R., Liskov, B.: Reconfigurable Byzantine Fault-tolerant Atomic Memory. In: Proc. 24th ACM PODC, p. 386. ACM Press, New York (2004)
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)
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)
Thomas, R.H.: A Majority Consensus Approach to Concurrency Control for Multiple Copy Database. ACM Transactions on Database Systems 4(2), 180–229 (1979)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)