skip to main content
10.1145/3293611.3331601acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
research-article

The Impact of RDMA on Agreement

Published:16 July 2019Publication History

ABSTRACT

Remote Direct Memory Access (RDMA) is becoming widely available in data centers. This technology allows a process to directly read and write the memory of a remote host, with a mechanism to control access permissions. In this paper, we study the fundamental power of these capabilities. We consider the well-known problem of achieving consensus despite failures, and find that RDMA can improve the inherent trade-off in distributed computing between failure resilience and performance. Specifically, we show that RDMA allows algorithms that simultaneously achieve high resilience and high performance, while traditional algorithms had to choose one or another. With Byzantine failures, we give an algorithm that only requires n \geq 2f_P + 1 processes (where f_P is the maximum number of faulty processes) and decides in two (network) delays in common executions. With crash failures, we give an algorithm that only requires n \geq f_P + 1 processes and also decides in two delays. Both algorithms tolerate a minority of memory failures inherent to RDMA, and they provide safety in asynchronous systems and liveness with standard additional assumptions.

References

  1. Ittai Abraham, Gregory Chockler, Idit Keidar, and Dahlia Malkhi. Byzantine disk paxos: optimal resilience with byzantine shared memory. Distributed computing (DIST), 18(5):387--408, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Yehuda Afek, David S. Greenberg, Michael Merritt, and Gadi Taubenfeld. Computing with faulty shared memory. In ACM Symposium on Principles of Distributed Computing (PODC), pages 47--58, August 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Marcos K Aguilera, Naama Ben-David, Irina Calciu, Rachid Guerraoui, Erez Petrank, and Sam Toueg. Passing messages while sharing memory. In ACM Symposium on Principles of Distributed Computing (PODC), pages 51--60. ACM, 2018. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Marcos K. Aguilera, Naama Ben-David, Rachid Guerraoui, Virendra Marathe, and Igor Zablotchi. The Impact of RDMA on Agreement. ArXiv preprint arXiv:1905.12143, 2019. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Noga Alon, Michael Merritt, Omer Reingold, Gadi Taubenfeld, and Rebecca N Wright. Tight bounds for shared memory systems accessed by byzantine processes. Distributed computing (DIST), 18(2):99--109, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. James Aspnes and Maurice Herlihy. Fast randomized consensus using shared memory. Journal of algorithms, 11(3):441--461, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Hagit Attiya, Amotz Bar-Noy, and Danny Dolev. Sharing memory robustly in message-passing systems. Journal of the ACM (JACM), 42(1):124--142, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Pierre-Louis Aublin, Rachid Guerraoui, Nikola Knevz ević, Vivien Quéma, and Marko Vukolić. The next 700 BFT protocols. ACM Transactions on Computer Systems (TOCS), 32(4):12, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Rida Bazzi and Gil Neiger. Optimally simulating crash failures in a byzantine environment. In International Workshop on Distributed Algorithms (WDAG), pages 108--128. Springer, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Jonathan Behrens, Ken Birman, Sagar Jha, Matthew Milano, Edward Tremel, Eugene Bagdasaryan, Theo Gkountouvas, Weijia Song, and Robbert Van Renesse. Derecho: Group communication at the speed of light. Technical report, Technical Report. Cornell University, 2016.Google ScholarGoogle Scholar
  11. Michael Ben-Or. Another advantage of free choice (extended abstract): Completely asynchronous agreement protocols. In ACM Symposium on Principles of Distributed Computing (PODC), pages 27--30. ACM, 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Alysson Neves Bessani, Miguel Correia, Joni da Silva Fraga, and Lau Cheuk Lung. Sharing memory between byzantine processes using policy-enforced tuple spaces. IEEE Transactions on Parallel and Distributed Systems, 20(3):419--432, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Romain Boichat, Partha Dutta, Svend Frolund, and Rachid Guerraoui. Reconstructing paxos. SIGACT News, 34(2):42--57, March 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Zohir Bouzid, Damien Imbs, and Michel Raynal. A necessary condition for byzantine k-set agreement. Information Processing Letters, 116(12):757--759, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Gabriel Bracha. Asynchronous byzantine agreement protocols. Information and Computation, 75(2):130--143, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Gabriel Bracha and Sam Toueg. Asynchronous consensus and broadcast protocols. Journal of the ACM (JACM), 32(4):824--840, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Francisco Brasileiro, Fab'iola Greve, Achour Mostéfaoui, and Michel Raynal. Consensus in one communication step. In International Conference on Parallel Computing Technologies, pages 42--50. Springer, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Tushar Deepak Chandra and Sam Toueg. Unreliable failure detectors for reliable distributed systems. Journal of the ACM (JACM), 43(2):225--267, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Byung-Gon Chun, Petros Maniatis, and Scott Shenker. Diverse replication for single-machine byzantine-fault tolerance. In USENIX Annual Technical Conference (ATC), pages 287--292, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Byung-Gon Chun, Petros Maniatis, Scott Shenker, and John Kubiatowicz. Attested append-only memory: making adversaries stick to their word. In ACM Symposium on Operating Systems Principles (SOSP), pages 189--204, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Allen Clement, Flavio Junqueira, Aniket Kate, and Rodrigo Rodrigues. On the (limited) power of non-equivocation. In ACM Symposium on Principles of Distributed Computing (PODC), pages 301--308. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Miguel Correia, Nuno Ferreira Neves, and Paulo Ver'i ssimo. How to tolerate half less one byzantine nodes in practical distributed systems. In International Symposium on Reliable Distributed Systems (SRDS), pages 174--183, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Miguel Correia, Giuliana S Veronese, and Lau Cheuk Lung. Asynchronous byzantine consensus with 2fGoogle ScholarGoogle Scholar
  24. 1 processes. In ACM symposium on applied computing (SAC), pages 475--480. ACM, 2010.Google ScholarGoogle Scholar
  25. Dan Dobre and Neeraj Suri. One-step consensus with zero-degradation. In International Conference on Dependable Systems and Networks (DSN), pages 137--146. IEEE Computer Society, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Aleksandar Dragojević, Dushyanth Narayanan, Miguel Castro, and Orion Hodson. FaRM: Fast remote memory. In USENIX Symposium on Networked Systems Design and Implementation (NSDI), pages 401--414, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Partha Dutta, Rachid Guerraoui, and Leslie Lamport. How fast can eventual synchrony lead to consensus? In International Conference on Dependable Systems and Networks (DSN), pages 22--27. IEEE, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Cynthia Dwork, Nancy Lynch, and Larry Stockmeyer. Consensus in the presence of partial synchrony. Journal of the ACM (JACM), 35(2):288--323, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Michael J Fischer, Nancy A Lynch, and Michael S Paterson. Impossibility of distributed consensus with one faulty process. Journal of the ACM (JACM), 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Eli Gafni and Leslie Lamport. Disk paxos. Distributed computing (DIST), 16(1):1--20, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Prasad Jayanti, Tushar Deepak Chandra, and Sam Toueg. Fault-tolerant wait-free shared objects. Journal of the ACM (JACM), 45(3):451--500, May 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Anuj Kalia, Michael Kaminsky, and David G Andersen. Using RDMA efficiently for key-value services. ACM SIGCOMM Computer Communication Review, 44(4):295--306, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Anuj Kalia, Michael Kaminsky, and David G Andersen. FaSST: Fast, scalable and simple distributed transactions with two-sided (RDMA) datagram RPCs. In USENIX Symposium on Operating System Design and Implementation (OSDI), volume 16, pages 185--201, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Anuj Kalia Michael Kaminsky and David G Andersen. Design guidelines for high performance RDMA systems. In USENIX Annual Technical Conference (ATC), page 437, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Rü diger Kapitza, Johannes Behl, Christian Cachin, Tobias Distler, Simon Kuhnle, Seyed Vahid Mohammadi, Wolfgang Schrö der-Preikschat, and Klaus Stengel. Cheapbft: resource-efficient byzantine fault tolerance. In European Conference on Computer Systems (EuroSys), pages 295--308, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Idit Keidar and Sergio Rajsbaum. On the cost of fault-tolerant consensus when there are no faults: preliminary version. ACM SIGACT News, 32(2):45--63, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Klaus Kursawe. Optimistic byzantine agreement. In International Symposium on Reliable Distributed Systems (SRDS), pages 262--267, October 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Leslie Lamport. The weak byzantine generals problem. Journal of the ACM (JACM), 30(3):668--676, July 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Leslie Lamport. The part-time parliament. ACM Transactions on Computer Systems (TOCS), 16(2):133--169, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Leslie Lamport. Fast paxos. Distributed computing (DIST), 19(2):79--103, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Leslie Lamport, Robert Shostak, and Marshall Pease. The byzantine generals problem. ACM Transactions on Programming Languages and Systems (TOPLAS), 4(3):382--401, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Dahlia Malkhi, Michael Merritt, Michael K Reiter, and Gadi Taubenfeld. Objects shared by byzantine processes. Distributed computing (DIST), 16(1):37--48, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Jean-Philippe Martin and Lorenzo Alvisi. Fast byzantine consensus. IEEE Transactions on Dependable and Secure Computing (TDSC), 3(3):202--215, July 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Gil Neiger and Sam Toueg. Automatically increasing the fault-tolerance of distributed algorithms. Journal of Algorithms, 11(3):374--419, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Marshall Pease, Robert Shostak, and Leslie Lamport. Reaching agreement in the presence of faults. Journal of the ACM (JACM), 27(2):228--234, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Marius Poke and Torsten Hoefler. DARE: High-performance state machine replication on RDMA networks. In Symposium on High-Performance Parallel and Distributed Computing (HPDC), pages 107--118. ACM, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Signe Rüsch, Ines Messadi, and Rüdiger Kapitza. Towards low-latency byzantine agreement protocols using RDMA. In IEEE/IFIP International Conference on Dependable Systems and Networks Workshops (DSN-W), pages 146--151. IEEE, 2018.Google ScholarGoogle ScholarCross RefCross Ref
  48. Yee Jiun Song and Robbert van Renesse. Bosco: One-step byzantine asynchronous consensus. In International Symposium on Distributed Computing (DISC), pages 438--450, September 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Giuliana Santos Veronese, Miguel Correia, Alysson Neves Bessani, Lau Cheuk Lung, and Paulo Ver'i ssimo. Efficient byzantine fault-tolerance. IEEE Trans. Computers, 62(1):16--30, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Cheng Wang, Jianyu Jiang, Xusheng Chen, Ning Yi, and Heming Cui. APUS: Fast and scalable paxos on RDMA. In Symposium on Cloud Computing (SoCC), pages 94--107. ACM, 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. The Impact of RDMA on Agreement

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            PODC '19: Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing
            July 2019
            563 pages
            ISBN:9781450362177
            DOI:10.1145/3293611

            Copyright © 2019 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 16 July 2019

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            PODC '19 Paper Acceptance Rate48of173submissions,28%Overall Acceptance Rate740of2,477submissions,30%

            Upcoming Conference

            PODC '24

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader