This Article 
 Bibliographic References 
 Add to: 
Implementing a Regular Register in an Eventually Synchronous Distributed System Prone to Continuous Churn
January 2012 (vol. 23 no. 1)
pp. 102-109
Roberto Baldoni, Universitá degli Studi di Roma, "La Sapienza", Roma
Silvia Bonomi, Universitá degli Studi di Roma, "La Sapienza", Roma
Michel Raynal, IRISA - Université de Rennes 1, Rennes
Due to their capability to hide the complexity generated by the messages exchanged between processes, shared objects are one of the main abstractions provided to developers of distributed applications. Implementations of such objects, in modern distributed systems, have to take into account the fact that almost all services, implemented on top of distributed infrastructures, are no longer fully managed due to either their size or their maintenance cost. Therefore, these infrastructures exhibit several autonomic behaviors in order to, for example, tolerate failures and continuous arrival and departure of nodes (churn phenomenon). Among all the shared objects, the register object is a fundamental one. Several protocols have been proposed to build fault resilient registers on top of message-passing system, but, unfortunately, failures are not the only challenge in modern distributed systems and new issues arise in the presence of churn. This paper addresses the construction of a multiwriter/multireader regular register in an eventually synchronous distributed system affected by the continuous arrival/departure of participants. In particular, a general protocol implementing a regular register is proposed and feasibility conditions associated with the arrival and departure of the processes are given. The protocol is proved correct under the assumption that a constraint on the churn is satisfied.

[1] M.K. Aguilera, I. Keidar, D. Malkhi, and A. Shraer, “Dynamic Atomic Storage without Consensus,” Proc. 28th Ann. ACM Symp. Principles of Distributed Computing (PODC), pp. 17-25, 2009.
[2] E. Anderson, X. Li, M.A. Shah, J. Tucek, and J.J. Wylie, “What Consistency Does Your Key-Value Store Actually Provide?,” Proc. Sixth Workshop Hot Topics in System Dependability (HotDep), 2010.
[3] H. Attiya, A. Bar-Noy, and D. Dolev, “Sharing Memory Robustly in Message-Passing Systems,” J. ACM, vol. 42, no. 1, pp. 129-142, 1995.
[4] R. Baldoni, S. Bonomi, A.M. Kermarrec, and M. Raynal, “Implementing a Register in a Dynamic Distributed System,” Proc. 29th IEEE Int'l Conf. Distributed Computing Systems (ICDCS '09), June 2009.
[5] R. Baldoni, S. Bonomi, and M. Raynal, “Regular Register: An Implementation in a Churn Prone Environment,” Proc 16th Int'l Colloquium on Structural Information and Comm. Complexity (SIROCCO), pp. 15-29, 2009.
[6] R. Baldoni and A.A. Shvartsman, “Theoretical Aspects of Dynamic Distributed Systems: Report on the Workshop,” SIGACT News, vol. 40, no. 4, pp. 87-89, 2009.
[7] T. Chandra and S. Toueg, “Unreliable Failure Detectors for Reliable Distributed Systems,” J. ACM, vol. 43, no. 2, pp. 225-267, 1996.
[8] G. Chockler, S. Gilbert, V. Gramoli, P.M. Musial, and A. Shvartsman, “Reconfigurable Distributed Storage for Dynamic Networks,” J. Parallel Distributed Computing, vol. 69, no. 1, pp. 100-116, 2009.
[9] C. Dwork, N. Lynch, and L. Stockmeyer, “Consensus in the Presence of Partial Synchrony,” J. ACM, vol. 35, no. 2, pp. 288-323, 1988.
[10] R. Friedman, M. Raynal, and C. Travers, “Abstractions for Implementing Atomic Objects in Distributed Systems,” Proc. Ninth Int'l Conf. Principles of Distributed Systems (PODC '05), pp. 73-87, 2005.
[11] S. Gilbert, N. Lynch, and A. Shvartsman, “RAMBO II: Rapidly Reconfigurable Atomic Memory for Dynamic Networks,” Proc. Int'l Conf. Dependable Systems and Networks (DSN), 2003.
[12] R. Guerraoui, R.R. Levy, B. Pochon, and J. Pugh, “The Collective Memory of Amnesic Processes,” ACM Trans. Algorithms, vol. 4, no. 1, pp. 1-31, 2008.
[13] B. Godfrey, S. Shenker, and I. Stoica, “Minimizing Churn in Distributed Systems,” Proc. Conf. Applications, Technologies, Architectures, and Protocols for Computer Comm. (SIGCOMM), pp. 147-158, 2006.
[14] S. Guha, N. Daswani, and R. Jain, “An Experimental Study of the Skype Peer-to-Peer VoIP System,” Proc. Fifth Int'l Workshop Peer-to-Peer Systems (IPTPS), 2006.
[15] S. Ko, I. Hoque, and I. Gupta, “Using Tractable and Realistic Churn Models to Analyze Quiescence Behavior of Distributed Protocols,” Proc. 27th IEEE Int'l Symp. Reliable Distributed Systems (SRDS '08), 2008.
[16] F. Kuhn, S. Schmid, and R. Wattenhofer, “A Self-Repairing Peer-to-Peer System Resilient to Dynamic Adversarial Churn,” Proc. Fourth Int'l Workshop Peer-to-Peer Systems (IPTPS), pp. 3-23, 2005.
[17] F. Kuhn, S. Schmid, J. Smit, and R. Wattenhofer, “A Blueprint for Constructing Peer-to-Peer Systems Robust to Dynamic Worst-Case Joins and Leaves,” Proc. 14th IEEE Int'l Workshop Quality of Service (IWQoS), 2006.
[18] L. Lamport, “On Interprocess Communication, Part 1: Models, Part 2: Algorithms,” Distributed Computing, vol. 1, no. 2, pp. 77-101, 1986.
[19] D. Liben-Nowell, H. Balakrishnan, and D.R. Karger, “Analysis of the Evolution of Peer-to-Peer Systems,” Proc. 21th Symp. Ann. Principles of Distributed Computing (PODC), pp. 233-242, 2002.
[20] D. Liben-Nowell, D.R. Karger, M.F. Kaashoek, F. Dabek, H. Balakrishnan, I. Stoica, and R. Morris, “Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications,” IEEE/ACM Trans. Networking, vol. 11, no. 1, pp. 17-32, Feb. 2003.
[21] N. Lynch and A. Shvartsman, “RAMBO: A Reconfigurable Atomic Memory Service for Dynamic Networks,” Proc. 16th Int'l Symp. Distributed Computing (DISC '02), pp. 173-190, 2002.
[22] D. Malkhi and M.K. Reiter, “Byzantine Quorum Systems,” Distributed Computing, vol. 11, no. 4, pp. 203-213, 1998.
[23] A. Mostefaoui, M. Raynal, C. Travers, S. Peterson, E.l. Abbadi, and D. Agrawal, “From Static Distributed Systems to Dynamic Systems,” Proc. 24th IEEE Symp. Reliable Distributed Systems (SRDS '05), pp. 109-119, 2005.
[24] M. Merritt and G. Taubenfeld, “Computing with Infinitely Many Processes,” Proc. 14th Int'l Symp. Distributed Computing (DISC '00), pp. 164-178, 2000.
[25] C. Shao, E. Pierce, and J. Welch, “Multi-Writer Consistency Conditions for Shared Memory Objects,” Proc. 17th Int'l Symp. Distributed Computing (DISC '03), pp. 106-120, 2003.
[26] P. Sousa, A.N. Bessani, M. Correia, N.F. Neves, and P. Verssimo, “Highly Available Intrusion-Tolerant Services with Proactive-Reactive Recovery,” IEEE Trans. Parallel and Distributed Systems vol. 21, no. 4, pp. 452-465, Apr. 2010.
[27] S. Voulgaris, D. Gavidia, and M. van Steen, “CYCLON: Inexpensive Membership Management for Unstructured P2P Overlays,” J. Network and Systems Management, vol. 13, no. 2, pp. 197-217, 2005.

Index Terms:
Regular register, dynamic distributed systems, churn, distributed algorithms.
Roberto Baldoni, Silvia Bonomi, Michel Raynal, "Implementing a Regular Register in an Eventually Synchronous Distributed System Prone to Continuous Churn," IEEE Transactions on Parallel and Distributed Systems, vol. 23, no. 1, pp. 102-109, Jan. 2012, doi:10.1109/TPDS.2011.97
Usage of this product signifies your acceptance of the Terms of Use.