Client-Driven Protocols for Low-Latency Replication with RDMA
RDMA has become a ubiquitous network accelerator in modern data centers, but its low-level interface remains poorly matched to the needs of distributed applications. While RDMA provides fine-grained remote memory operations such as READ and CAS without clear consistency semantics, distributed systems require higher-level guarantees up to and including fault tolerance and linearizability. As a result, system designers often restrict RDMA to accelerating traditional RPC, relying on protocols such as Paxos or Two-Phase Commit to achieve these properties. These protocols, however, incur multiple rounds of communication, imposing significant latency and leaving much of RDMA’s potential untapped. This dissertation explores an alternative design space for RDMA-based protocols that exploits the distinctive characteristics of data-center clients to achieve lower latency and higher scalability. By offloading key protocol responsibilities to clients, we show that it is possible to retain, or even improve, programmability while substantially reducing coordination overhead. We demonstrate this approach through two systems: ZIP and MµLOGS. ZIP is a replicated state machine protocol that completes in a single RPC round in the common case, using Speculative Ordering at clients and Speculative Executionat servers. MµLOGS is a programming abstraction for fault-tolerant one-sided RDMA applications that elevates RDMA from Shared Memory to Shared Logs while preserving its low-level efficiency. Extensive evaluation using microbenchmarks and large-scale applications confirms that these designs deliver significant performance gains in practice.