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 read and write involves one round of communication with the servers. These conditions relate the number of readers to the tolerated number of faulty servers and the nature of these failures.

  • [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. Google Scholar

  • [2]  I. Abraham, G. V. Chockler, I. Keidar and , and D. Malkhi, Byzantine disk Paxos: Optimal resilience with Byzantine shared memory, Distrib. Comput., 18 (2006), pp. 387–408. CrossrefISIGoogle Scholar

  • [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. Google Scholar

  • [4]  H. Attiya, A. Bar-Noy and , and D. Dolev, Sharing memory robustly in message-passing systems. J. ACM, 42 (1995), pp. 124–142. JACOAH 0004-5411 CrossrefISIGoogle Scholar

  • [5]  H. Attiya and J. Welch, Distributed Computing. Fundamentals, Simulations, and Advanced Topics, McGraw–Hill, New York, 1998. Google Scholar

  • [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. Google Scholar

  • [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. Google Scholar

  • [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. Google Scholar

  • [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. Google Scholar

  • [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. Google Scholar

  • [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. Google Scholar

  • [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. Google Scholar

  • [13]  C. Georgiou, N. C. Nicolaou and , and A. A. Shvartsman, Fault-tolerant semifast implementations of atomic read/write registers, J. Parallel Distrib. Comput., 69 (2009), pp. 62–79. JPDCER 0743-7315 CrossrefISIGoogle Scholar

  • [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. Google Scholar

  • [15]  R. Guerraoui and  and M. Vukolić, Refined quorum systems, Distrib. Comput., 23 (2010), pp. 1–42. CrossrefISIGoogle Scholar

  • [16]  M. Herlihy, Wait-free synchronization, ACM Trans. Programming Languages Syst., 13 (1991), pp. 124–149. CrossrefISIGoogle Scholar

  • [17]  P. Jayanti, T. D. Chandra and , and S. Toueg, Fault-tolerant wait-free shared objects, J. ACM, 45 (1998), pp. 451–500. 1535-9921 CrossrefISIGoogle Scholar

  • [18]  L. Lamport, On interprocess communication, Distrib. Comput., 1 (1986), pp. 77–101. CrossrefISIGoogle Scholar

  • [19]  L. Lamport, Lower bounds for asynchronous consensus, in Future Directions in Distributed Computing, 2003, pp. 22–23. Google Scholar

  • [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. Google Scholar

  • [21]  N. A. Lynch, Distributed Algorithms, Morgan Kaufmann, San Francisco, CA, 1996. Google Scholar

  • [22]  N. A. Lynch and  and M. R.Tuttle, An introduction to input/output automata, CWI Quart., 2 (1989), pp. 219–246. 0922-5366 Google Scholar

  • [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. Google Scholar

  • [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. Google Scholar

  • [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. Google Scholar

  • [26]  M. Pease, R. Shostak and , and L. Lamport, Reaching agreements in the presence of faults, J. ACM, 27 (1980), pp. 228–234. JACOAH 0004-5411 CrossrefISIGoogle Scholar

  • [27]  M. O. Rabin, Efficient dispersal of information for security, load balancing, and fault tolerance, J. ACM, 36 (1989), pp. 335–348. JACOAH 0004-5411 CrossrefISIGoogle Scholar

  • [28]  R. L. Rivest, A. Shamir and , and L. M. Adleman, A method for obtaining digital signatures and public-key cryptosystems, Comm. ACM, 21 (1978), pp. 120–126. CACMA2 0001-0782 CrossrefISIGoogle Scholar

  • [29]  Y. Saito, S. Frolund, A. Veitch, A. Merchant and , and S. Spence, FAB: Building distributed enterprise disk arrays from commodity components, SIGOPS Oper. Syst. Rev., 38 (2004), pp. 48–58. CrossrefGoogle Scholar

  • [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. Google Scholar