Semantics of Remote Direct Memory Access: Operational and Declarative Models of RDMA on TSO Architectures
Remote direct memory access (RDMA) is a modern technology enabling networked machines to exchange information without involving the operating system of either side, and thus significantly speeding up data transfer in computer clusters. While RDMA is extensively used in practice and studied in various research papers, a formal underlying model specifying the allowed behaviours of concurrent RDMA programs running in modern multicore architectures is still missing. This paper aims to close this gap and provide semantic foundations of RDMA on x86-TSO machines. We propose three equivalent formal models, two operational models in different levels of abstraction and one declarative model, and prove that the three characterisations are equivalent. To gain confidence in the proposed semantics, the more concrete operational model has been reviewed by NVIDIA experts, a major vendor of RDMA systems, and we have empirically validated the declarative formalisation on various subtle litmus tests by extensive testing. We believe that this work is a necessary initial step for formally addressing RDMA-based systems by proposing language-level models, verifying their mapping to hardware, and developing reasoning techniques for concurrent RDMA programs.
Authors
- Haggai Eran (ORCID: https://orcid.org/0000-0002-2159-9046)
- Brijesh Dongol (ORCID: https://orcid.org/0000-0003-0446-3507)
- Vasileios Klimis (ORCID: https://orcid.org/0000-0002-3173-8636)
- Guillaume Ambal (ORCID: https://orcid.org/0000-0002-4667-7266)
- Azalea Raad (ORCID: https://orcid.org/0000-0002-2319-3242)
- Ori Lahav (ORCID: https://orcid.org/0000-0003-4305-6998)
Institutions
- Tel Aviv University (IL)
- Queen Mary University of London (GB)
- University of Surrey (GB)
- Imperial College London (GB)
- Israel Electric (Israel) (IL)
Publication Details
- Journal
- Proceedings of the ACM on Programming Languages
- Published
- 2024-10-08
- DOI
- https://doi.org/10.1145/3689781
- Citations
- 4
- Primary Topic
- Distributed systems and fault tolerance
- Type
- article
- Field-Weighted Citation Impact
- 1.40
Funders
- Engineering and Physical Sciences Research Council