arXiv · 2404.17980
ALock: Asymmetric Lock Primitive for RDMA Systems
Abstract
Remote direct memory access (RDMA) networks are being rapidly adopted into industry for their high speed, low latency, and reduced CPU overheads compared to traditional kernel-based TCP/IP networks. RDMA enables threads to access remote memory without interacting with another process. However, atomicity between local accesses and remote accesses is not guaranteed by the technology, hence complicating synchronization significantly. The current solution is to require threads wanting to access local memory in an RDMA-accessible region to pass through the RDMA card using a mechanism known as loopback, but this can quickly degrade performance. In this paper, we introduce ALock, a novel locking primitive designed for RDMA-based systems. ALock allows programmers to synchronize local and remote accesses without using loopback or remote procedure calls (RPCs). We draw inspiration from the classic Peterson's algorithm to create a hierarchical design that includes embedded MCS locks for two cohorts, remote and local. To evaluate the ALock we implement a distributed lock table, measuring throughput and latency in various cluster configurations and workloads. In workloads with a majority of local operations, the ALock outperforms competitors up to 29x and achieves a latency up to 20x faster.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Amanda Baran, Jacob Nelson-Slivon, Lewis Tseng, Roberto Palmieri. 2024-04-27. ALock: Asymmetric Lock Primitive for RDMA Systems. https://doi.org/10.1145/3626183.3659977
Cite the original work for its findings. Save a collection to share your selection of sources.