Abstract
This paper presents an algorithm that emulates atomic read/write shared objects in a dynamic network setting. To ensure availability and fault-tolerance, the objects are replicated. To ensure atomicity, reads and writes are performed using quorum configurations, each of which consists of a set of members plus sets of read-quorums and write-quorums. The algorithm is reconfigurable: the quorum configurations may change during computation, and such changes do not cause violations of atomicity. Any quorum configuration may be installed at any time. The algorithm tolerates processor stopping failure and message loss. The algorithm performs three major tasks, all concurrently: reading and writing objects, introducing new configurations, and “garbage-collecting” obsolete configurations. The algorithm guarantees atomicity for arbitrary patterns of asynchrony and failure. The algorithm satisfies a variety of conditional performance properties, based on timing and failure assumptions. In the “normal case”, the latency of read and write operations is at most 8d, where d is the maximum message delay.
This work was supported by the NSFITR Grant 0121277. The work of the first author was also supported by AFOSR under contract F49620-00-1-0097 and by NTT under contract MIT9904-12. The work of the second author was also supported by NSF CAREER Award 9984778 and NSF Grant 9988304.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Communications of the ACM, special section on group communications, vol. 39, no. 4, 1996.
Y. Amir, D. Dolev, P. Melliar-Smith and L. Moser, “Robust and Efficient Replication Using Group Communication” Tech. Rep. 94-20, Dept. of Computer Science, Hebrew Univ., 1994.
H. Attiya, A. Bar-Noy and D. Dolev, “Sharing Memory Robustly in Message Passing Systems”, J. of the ACM, vol. 42, no. 1, pp. 124–142, 1996.
P.A. Bernstein, V. Hadzilacos and N. Goodman, “Concurrency Control and Recovery in Database Systems”, Addison-Wesley, Reading, MA, 1987.
F. Cristian and F. Schmuck, “Agreeing on Processor Group Membership in Asynchronous Distributed Systems”, TR. CSE95-428, Dept. of Comp. Sci., Univ. of California San Diego.
S.B. Davidson, H. Garcia-Molina and D. Skeen, “Consistency in Partitioned Networks”, ACM Computing Surveys, vol. 15, no. 3, pp. 341–370, 1985.
R. De Prisco, A. Fekete, N. Lynch, A. Shvartsman, “A Dynamic Primary Configuration Group Communication Service”, 13th Int-l Conference of Distributed Computing, 1999.
Roberto De Prisco, Nancy Lynch, Alex Shvartsman, Nicole Immorlica and Toh Ne Win “A Formal Treatment of Lamport’s Paxos Algorithm”, manuscript, 2002.
C. Dwork, N. A. Lynch, L. J. Stockmeyer, “Consensus in the presence of partial synchrony”, J. of ACM, 35(2), pp. 288–323, 1988.
B. Englert and A.A. Shvartsman, Graceful Quorum Reconfiguration in a Robust Emulation of Shared Memory, in Proc. International Conference on Distributed Computer Systems (ICDCS’2000), pp. 454–463, 2000.
A. Fekete, N. Lynch and A. Shvartsman “Specifying and using a partitionable group communication service”, ACM Trans. on Computer Systems, vol. 19, no. 2, pp. 171–216, 2001.
H. Garcia-Molina and D. Barbara, “How to Assign Votes in a Distributed System,” J. of the ACM, vol. 32, no. 4, pp. 841–860, 1985.
D.K. Gifford, “Weighted Voting for Replicated Data”, in Proc. of 7th ACM Symp. on Oper. Sys. Princ., pp. 150–162, 1979.
M.P. Herlihy, “Dynamic Quorum Adjustment for Partitioned Data”, ACM Trans. on Database Systems, 12(2), pp. 170–194, 1987.
R. Guerraoui and A. Schiper, “Consensus Service: A Modular Approach For Building Fault-Tolerant Agreement Protocols in Distributed Systems”, Proc. of the 26th International Symposium on Fault-Tolerant Computing (FTCS-26), pp. 168–177, 1996.
I. Keidar and D. Dolev, “Efficient Message Ordering in Dynamic Networks”, in Proc. of 15th Annual ACM Symp. on Princ. of Distr. Comput., pp. 68–76, 1996.
Leslie Lamport, “The Part-Time Parliament”, ACM Transactions on Computer Systems, 16(2) 133–169, 1998.
N.A. Lynch, Distributed Algorithms, Morgan Kaufmann Publishers, San Mateo, CA, 1996.
N. Lynch and A. Shvartsman. Robust emulation of shared memory using dynamic quorum-acknowledged broadcasts. 27th Int-l Symp. on Fault-Tolerant Comp., pp. 272–281, 1997.
Nancy Lynch and Alex Shvartsman. RAMBO: A Reconfigurable Atomic Memory Service for Dynamic Networks. MIT-LCS-TR-856, 2002
E. Upfal and A. Wigderson, How to share memory in a distributed system, Journal of the ACM, 34(1):116–127, 1987.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lynch, N., Shvartsman, A.A. (2002). RAMBO: A Reconfigurable Atomic Memory Service for Dynamic Networks. In: Malkhi, D. (eds) Distributed Computing. DISC 2002. Lecture Notes in Computer Science, vol 2508. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36108-1_12
Download citation
DOI: https://doi.org/10.1007/3-540-36108-1_12
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00073-0
Online ISBN: 978-3-540-36108-4
eBook Packages: Springer Book Archive