ShiftLock: Mitigate One-sided RDMA Lock Contention via Handover
summary
ShiftLock claims to cut RDMA lock retries by enabling direct client-to-client handovers so waiting clients spin locally instead of hammering the server; it implements one-sided RDMA verbs for lock state plus two-sided send verbs and dynamic connections for scalable peer messaging, a reader-writer protocol using a reader counter, a release counter, and an “appo” field to guarantee single-round-trip acquisition, and failure recovery via a server‑bumped release counter and era. Implemented in 7,000 lines of Rust and tested on six nodes, it reports up to 3.62× goodput, 76.6% lower tail latencies, and 2.85× transaction goodput.
AI-written summary · about
chapters (13)
- 0:00ShiftLock and RDMA intro
- 1:22Researching RDMA atomic verbs
- 2:27One-sided RDMA lock challenges
- 3:52Handover concept and MCS limits
- 5:16ShiftLock design challenges
- 6:20Client-to-client RDMA comms
- 7:47Dynamic RDMA connections
- 8:08ShiftLock reader-writer protocol
- 10:58Single round-trip acquisition without contention
- 11:20Preventing reader starvation
- 11:41Failure detection and recovery
- 13:04Performance evaluation
- 14:51Conclusion and Q&A
related talks
18mFARLock: Asymmetric RDMA Locking Made Fair
16mFORD: Fast One-sided RDMA-based Distributed Transactions for Disaggregated Persistent...
01h 09mAlgorithms for practical distributed agreement
15mCitron: Distributed Range Lock Management with One-sided RDMA
19mFast Distributed Transactions for RDMA-based Disaggregated Memory
48mHow to build distributed concurrency primitives
18mRDMA is Turing complete, we just did not know it yet!
14mUnderstanding RDMA Microarchitecture Resources for Performance Isolation
