Simulating a Shared Register in an Asynchronous System that Never Stops Changing
Simulating a shared register can mask the intricacies of designing algorithms for asynchronous message-passing systems subject to crash failures, since it allows them to run algorithms designed for the simpler shared-memory model. The simulation replicates the value of the register in multiple servers and requires readers and writers to communicate with a majority of servers. The success of this approach for static systems, where the set of nodes (readers, writers, and servers) is fixed, has motivated several similar simulations for dynamic systems, where nodes may enter and leave. However, all existing simulations need to assume that the system eventually stops changing for a long enough period or that the system size is fixed.
This paper presents the first simulation of an atomic read/write register in a crash-prone asynchronous system that can change size and withstand nodes continually entering and leaving. The simulation allows the system to keep changing, provided that the number of nodes entering and leaving during a fixed time interval is at most a constant fraction of the current system size.
Unable to display preview. Download preview PDF.
- 6.Baldoni, R., Bonomi, S., Kermarrec, A.M., Raynal, M.: Implementing a register in a dynamic distributed system. In: IEEE International Conference on Distributed Computing Systems, pp. 639–647 (2009)Google Scholar
- 8.Beal, J., Gilbert, S.: RamboNodes for the metropolitan ad hoc network. In: Workshop on Dependability in Wireless Ad Hoc Networks and Sensor Networks (2003)Google Scholar
- 10.Dutta, P., Guerraoui, R., Levy, R.R., Chakraborty, A.: How fast can a distributed atomic read be? In: Proceedings of the 23rd Annual ACM Symposium on Principles of Distributed Computing, pp. 236–245 (2004)Google Scholar
- 13.Guerraoui, R., Levy, R.: Robust emulations of shared memory in a crash-recovery model. In: Proceedings of the International Conference on Distributed Computing Systems, pp. 400–407 (2004)Google Scholar
- 14.Guerraoui, R., Vukolić, M.: Refined quorum systems. In: Proceedings of the 26th Annual ACM Symposium on Principles of Distributed Computing, pp. 119–128 (2007)Google Scholar
- 15.Ko, S.Y., Hoque, I., Gupta, I.: Using tractable and realistic churn models to analyze quiescence behavior of distributed protocols. In: IEEE Symposium on Reliable Distributed Systems, pp. 259–268 (2008)Google Scholar
- 16.Lynch, N.A., Shvartsman, A.A.: Robust emulation of shared memory using dynamic quorum-acknowledged broadcasts. In: Proceedings of the 27th International Symposium on Fault-Tolerant Computing, pp. 272–281 (1997)Google Scholar
- 17.Lynch, N.A., Shvartsman, A.A.: Rambo: A reconfigurable atomic memory service for dynamic networks. In: Proceedings of the 16th International Conference on Distributed Computing, pp. 173–190 (2002)Google Scholar
- 20.Martin, J.P., Alvisi, L., Dahlin, M.: Minimal byzantine storage. In: Proceedings of the 16th International Conference on Distributed Computing, pp. 311–325 (2002)Google Scholar
- 22.Shraer, A., Martin, J.P., Malkhi, D., Keidar, I.: Data-centric reconfiguration with network-attached disks. In: Proceedings of the 4th International Workshop on Large Scale Distributed Systems and Middleware, pp. 22–26 (2010)Google Scholar
- 23.Spiegelman, A., Keidar, I.: On liveness of dynamic storage. CoRR abs/1507.07086 (July 2015). http://arxiv.org/abs/1507.07086
- 24.Vukolic, M.: Quorum Systems: With Applications to Storage and Consensus. Synthesis Lectures on Distributed Computing Theory, Morgan & Claypool Publishers (2012)Google Scholar