Fast Access to Distributed Atomic Memory
Abstract
We study efficient and robust implementations of an atomic read-write data structure over an asynchronous distributed message-passing system made of reader and writer processes, as well as a number of servers implementing the data structure. We determine the exact conditions under which every
[1] M. Abd-El-Malek, W. V. Courtright II, C. Cranor, G. R. Ganger, J. Hendricks, A. J. Klosterman, M. Mesnier, M. Prasad, B. Salmon, R. R. Sambasivan, S. Sinnamohideen, J. D. Strunk, E. Thereska, M. Wachs, and J. J. Wylie, Ursa minor: Versatile cluster-based storage, in Proceedings of the 4th USENIX Conference on File and Storage Technologies, 2005, pp. 59–72.
[2] , Byzantine disk Paxos: Optimal resilience with Byzantine shared memory, Distrib. Comput., 18 (2006), pp. 387–408.
[3] A. S. Aiyer, L. Alvisi, and R. A. Bazzi, Bounded wait-free implementation of optimally resilient Byzantine storage without (unproven) cryptographic assumptions, in Proceedings of the 21st International Symposium on Distributed Computing, 2007, pp. 7–19.
[4] , Sharing memory robustly in message-passing systems. J. ACM, 42 (1995), pp. 124–142. JACOAH 0004-5411
[5] H. Attiya and J. Welch, Distributed Computing. Fundamentals, Simulations, and Advanced Topics, McGraw–Hill, New York, 1998.
[6] C. Cachin and S. Tessaro, Optimal resilience for erasure-coded Byzantine distributed storage, in Proceedings of the International Conference on Dependable Systems and Networks, 2006, pp. 115–124.
[7] B.-G. Chun, F. Dabek, A. Haeberlen, E. Sit, H. Weatherspoon, M. F. Kaashoek, J. Kubiatowicz, and R. Morris, Efficient replica maintenance for distributed storage systems, in Proceedings of the 3rd Conference on Networked Systems Design and Implementation, 2006, pp. 45–58.
[8] P. Dutta, R. Guerraoui, R. R. Levy, and A. Chakraborty, How fast can a distributed atomic read be?, in Proceedings of the 23rd Annual ACM Symposium on Principles of Distributed Computing, 2004, pp. 236–245.
[9] B. Englert, C. Georgiou, P. M. Musial, N. C. Nicolaou, and A. A. Shvartsman, On the efficiency of atomic multi-reader, multi-writer distributed memory, in Proceedings of the 13th International Conference on Principles of Distributed Systems, 2009, pp. 240–254.
[10] B. Englert and A. A. Shvartsman, Graceful quorum reconfiguration in a robust emulation of shared memory, in Proceedings of the 20th International Conference on Distributed Computing Systems, 2000, pp. 454–463.
[11] R. Fan and N. Lynch, Efficient replication of large data objects, in Proceedings of the 17th International Symposium on Distributed Computing, 2003, pp. 75–91.
[12] C. Georgiou, N. C. Nicolaou, and A. A. Shvartsman, On the robustness of (semi) fast quorum-based implementations of atomic shared memory, in Proceedings of the 22nd International Symposium on Distributed Computing, 2008, pp. 289–304.
[13] , Fault-tolerant semifast implementations of atomic read/write registers, J. Parallel Distrib. Comput., 69 (2009), pp. 62–79. JPDCER 0743-7315
[14] R. Guerraoui, R. R. Levy, and M. Vukolić, Lucky read/write access to robust atomic storage, in Proceedings of the International Conference on Dependable Systems and Networks, 2006, pp. 125–136.
[15] , Refined quorum systems, Distrib. Comput., 23 (2010), pp. 1–42.
[16] , Wait-free synchronization, ACM Trans. Programming Languages Syst., 13 (1991), pp. 124–149.
[17] , Fault-tolerant wait-free shared objects, J. ACM, 45 (1998), pp. 451–500. 1535-9921
[18] , On interprocess communication, Distrib. Comput., 1 (1986), pp. 77–101.
[19] L. Lamport, Lower bounds for asynchronous consensus, in Future Directions in Distributed Computing, 2003, pp. 22–23.
[20] N. Lynch and A. Shvartsman, Robust emulation of shared memory using dynamic quorum-acknowledged broadcasts, in Proceedings of the 27th Annual International Symposium on Fault-Tolerant Computing, 1997, pp. 272–281.
[21] N. A. Lynch, Distributed Algorithms, Morgan Kaufmann, San Francisco, CA, 1996.
[22] , An introduction to input/output automata, CWI Quart., 2 (1989), pp. 219–246. 0922-5366
[23] N. A. Lynch and A. A. Shvartsman, Rambo: A reconfigurable atomic memory service for dynamic networks, in Proceedings of the 16th International Conference on Distributed Computing, 2002, pp. 173–190.
[24] D. Malkhi and M. K. Reiter, Secure and scalable replication in phalanx, in Proceedings of the 17th Symposium on Reliable Distributed Systems, 1998, pp. 51–58.
[25] J.-P. Martin, L. Alvisi, and M. Dahlin, Minimal Byzantine storage, in Proceedings of the 16th International Conference on Distributed Computing, 2002, pp. 311–325.
[26] , Reaching agreements in the presence of faults, J. ACM, 27 (1980), pp. 228–234. JACOAH 0004-5411
[27] , Efficient dispersal of information for security, load balancing, and fault tolerance, J. ACM, 36 (1989), pp. 335–348. JACOAH 0004-5411
[28] , A method for obtaining digital signatures and public-key cryptosystems, Comm. ACM, 21 (1978), pp. 120–126. CACMA2 0001-0782
[29] , FAB: Building distributed enterprise disk arrays from commodity components, SIGOPS Oper. Syst. Rev., 38 (2004), pp. 48–58.
[30] F. Schmuck and R. Haskin, GPFS: A shared-disk file system for large computing clusters, in Proceedings of the 1st USENIX Conference on File and Storage Technologies, 2002, pp. 231–244.