Guillaume Ambal

Bio

Bonjour ! I'm currently a Research Associate (postdoc) at Imperial College London, in the Veritas group of Azalea Raad. I'm working on the formalisation of weak memory models, notably Remote Direct Memory Access (RDMA).

Before that, I was a PhD student at IRISA Rennes under the supervision of Alan Schmitt and Sergueï Lenglet.


Publications

Specifying and Verifying RDMA Synchronisation

Going Through Peer Review 🤞

Guillaume Ambal, Max Stupple, Brijesh Dongol, and Azalea Raad

PDF PDF
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 \(\text{RDMA}^\text{TSO}\) 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 \(\text{RDMA}^\text{TSO}_\text{RMW}\), 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 \(\text{RDMA}^\text{WAIT}_\text{RMW}\) library. Underpinned by \(\text{RDMA}^\text{WAIT}_\text{RMW}\), we then specify, implement and verify three classes of remote locks that are suitable for different scenarios. Additionally, we develop the notion of a strong RDMA model, \(\text{RDMA}^\text{SC}_\text{RMW}\), which is akin to sequential consistency in shared memory architectures. Our libraries are built to be compatible with an existing set of high-performance libraries called \(\text{LOCO}\), which ensures compositionality and verifiability.

A Verified High-Performance Composable Object Library for Remote Direct Memory Access

Principles of Programming Languages (POPL), 2026

Guillaume Ambal, George Hodgkins, Mark Madler, Gregory Chockler, Brijesh Dongol, Joseph Izraelevitz, Azalea Raad, and Viktor Vafeiadis

PDF PDF
Abstract  

Remote Direct Memory Access (RDMA) is a memory technology that allows remote devices to directly write to and read from each other's memory, bypassing components such as the CPU and operating system. This enables low-latency high-throughput networking, as required for many modern data centres, HPC applications and AI/ML workloads. However, baseline RDMA comprises a highly permissive weak memory model that is difficult to use in practice and has only recently been formalised.

In this paper, we introduce the Library of Composable Objects (LOCO), a formally verified library for building multi-node objects on RDMA, filling the gap between shared memory and distributed system programming. LOCO objects are well-encapsulated and take advantage of the strong locality and the weak consistency characteristics of RDMA. They have performance comparable to custom RDMA systems (e.g. distributed maps), but with a far simpler programming model amenable to formal proofs of correctness.

To support verification, we develop a novel modular declarative verification framework, called Mowgli, that is flexible enough to model multinode objects and is independent of a memory consistency model. We instantiate Mowgli with the RDMA memory model, and use it to verify correctness of LOCO libraries.

Sufficient Conditions for Robustness of RDMA Programs

European Symposium on Programming (ESOP), 2025

Guillaume Ambal, Ori Lahav, and Azalea Raad

PDF PDF Website Website Slides Slides
Abstract  

Remote Direct Memory Access (RDMA) is a modern technology enabling high-performance inter-node communication. Despite its widespread adoption, theoretical understanding of permissible behaviours remains limited, as RDMA follows a very weak memory model. This paper addresses the challenge of establishing sufficient conditions for RDMA robustness. We introduce a set of straightforward criteria that, when met, guarantee sequential consistency and mitigate potential issues arising from weak memory behaviours in RDMA applications. Notably, when restricted to a tree topology, these conditions become even more relaxed, significantly reducing the need for synchronisation primitives. This work provides developers with practical guidelines to ensure the reliability and correctness of their RDMA-based systems.

Semantics of Remote Direct Memory Access: Operational and Declarative Models of RDMA on TSO Architectures

Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2024

Guillaume Ambal, Brijesh Dongol, Haggai Eran, Vasileios Klimis, Ori Lahav, and Azalea Raad

PDF PDF Website Website Slides Slides Video Video
Abstract  

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 multi-core 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.

Skeletal Semantics Transformations

PhD Thesis, Université de Rennes, 2022

Guillaume Ambal

PDF PDF Website Website Slides Slides
Abstract  

TODO before I forget… Basically a merge of the two papers below.

Certified Abstract Machines for Skeletal Semantics

International Conference on Certified Programs and Proofs (CPP), 2022

Guillaume Ambal, Sergueï Lenglet, and Alan Schmitt

PDF PDF Website Website Slides Slides Video Video
Abstract  

Skeletal semantics is a framework to describe semantics of programming languages. We propose an automatic generation of a certified OCaml interpreter for any language written in skeletal semantics. To this end, we introduce two new interpretations, i.e., formal meanings, of skeletal semantics, in the form of non-deterministic and deterministic abstract machines. These machines are derived from the usual bigstep interpretation of skeletal semantics using functional correspondence, a standard transformation from big-step evaluators to abstract machines. All these interpretations are formalized in the Coq proof assistant and we certify their soundness. We finally use the extraction from Coq to OCaml to obtain the certified interpreter.

Certified Derivation of Small-Step From Big-Step Skeletal Semantics

International Symposium on Principles and Practice of Declarative Programming (PPDP), 2022

Guillaume Ambal, Sergueï Lenglet, Alan Schmitt, and Camille Noûs

PDF PDF Slides Slides
Abstract  

We present an automatic translation of a skeletal semantics written in big-step style into an equivalent structural operational semantics. This translation is implemented on top of the Necro tool, which lets us automatically generate an OCaml interpreter for the small step semantics and a Coq mechanization of both semantics. We prove the framework correct in two ways: we provide a paper proof of the core of the transformation, and we generate Coq certification scripts alongside the transformation. We illustrate the approach using a simple imperative language and show how it scales to larger languages.

HOπ in Coq

Journal of Automated Reasoning (JAR), 2021

Guillaume Ambal, Sergueï Lenglet, and Alan Schmitt

PDF PDF Website Website
Abstract  

We present a formalization of HOπ in Coq, a process calculus where messages carry processes. Such a higher-order calculus features two very different kinds of binder: process input, similar to λ-abstraction, and name restriction, whose scope can be expanded by communication. For the latter, we compare four approaches to represent binders: locally nameless, de Bruijn indices, nominal, and Higher-Order Abstract Syntax. In each case, we formalize strong context bisimi-larity and prove it is compatible, i.e., closed under every context, using Howe's method, based on several proof schemes we developed in a previous paper.


Other

Family cooking recipes (in French only).