Specifying and Verifying RDMA Synchronisation (Extended Version)
Guillaume Ambal, Max Stupple, Brijesh Dongol, Azalea Raad

TL;DR
This paper introduces formal semantics and verification methods for remote synchronization primitives in RDMA, enabling reliable implementation of locks and synchronization in high-performance distributed systems.
Contribution
It presents the first formal semantics for remote RMW instructions over TSO and develops verified synchronization abstractions compatible with existing high-performance libraries.
Findings
Developed $ ext{RDMA}^{ ext{TSO}}_{ ext{RMW}}$ semantics for remote RMW operations.
Created verified remote lock implementations suitable for various scenarios.
Proposed a strong RDMA model akin to sequential consistency.
Abstract
Remote direct memory access (RDMA) allows a machine to directly read from and write to the memory of remote machine, enabling high-throughput, low-latency data transfer. Ensuring correctness of RDMA programs has only recently become possible with the formalisation of semantics (describing the behaviour of RDMA networking over a TSO CPU). However, this semantics currently lacks a formalisation of remote synchronisation, meaning that the implementations of common abstractions such as locks cannot be verified. In this paper, we close this gap by presenting , the first semantics for remote `read-modify-write' (RMW) instructions over TSO. It turns out that remote RMW operations are weak and only ensure atomicity against other remote RMWs. We therefore build a set of composable synchronisation abstractions starting with the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Parallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems
