[Paper] Lotus:优化解耦事务与解耦锁
发布: (2025年12月18日 GMT+8 11:49)
7 min read
原文: arXiv
Source: arXiv - 2512.16136v1
概述
本文介绍了 Lotus,一种针对分离式内存(DM)架构设计的新型分布式事务系统。通过将锁管理从内存节点 NIC 移至计算节点,Lotus 消除了主要的网络瓶颈,并为 OLTP 工作负载提供了最高 2 倍的吞吐量提升。
关键贡献
- 锁分解: 锁存储并在计算节点 (CN) 上处理,而不是在内存节点 (MN) 上,从而让 MN 的 RDMA NIC 免受大量原子操作流量的负担。
- 面向应用的锁分片: Lotus 根据工作负载局部性对锁进行划分,实现跨 CN 的负载均衡,同时保持缓存友好性。
- 锁优先事务协议: 事务在任何数据访问之前获取所有所需锁,从而实现早期冲突检测和主动中止。
- 无锁重建恢复: 将锁视为瞬态状态;在 CN 崩溃后,系统在不重建锁状态的情况下恢复,使恢复过程轻量。
- 性能提升: 实验评估显示,与现有最佳 DM 事务系统相比,吞吐量提升最高 2.1×,延迟降低约 50 %。
Source: …
方法论
- 系统模型: 作者假设一个典型的分布式内存(DM)部署,其中多个计算节点(CN)通过 RDMA 与一组内存节点(MN)通信。传统设计将锁元数据放在 MN 上,导致网卡需要处理大量单边原子操作(例如 compare‑and‑swap)。
- 锁分离设计: Lotus 将每个锁迁移到发起事务的 CN 上。CN 的本地内存中维护一个轻量级锁表,锁所有权通过一个小型的 “lock‑owner” 目录向 MN 广播,该目录可以被缓存。
- 分片算法: 锁按它们保护的主数据项进行分组。利用工作负载统计(例如热点键),Lotus 将这些组分配给 CN,使大多数锁请求保持本地;当热点转移时,使用简单的基于哈希的回退机制以确保均匀分布。
- 事务流程:
- 锁‑先阶段: CN 向相关的 CN(包括自身)发送一批锁获取消息。
- 验证: 若有任意锁获取失败,事务立即中止——不进行数据读取。
- 执行阶段: 当所有锁均已获取后,CN 对位于 MN 上的数据执行 RDMA 读取/写入。
- 提交/释放: 锁在写回后通过非阻塞 RDMA 写原子释放。
- 恢复: 当 CN 失效时,系统将该 CN 持有的所有锁视为已过期。由于锁不持久化,其他 CN 可以直接重试被中止的事务,无需昂贵的重建步骤。
Results & Findings
| Metric | Lotus vs. Baseline (state‑of‑the‑art DM txn system) |
|---|---|
| Throughput | ↑ 2.1×(最高提升 2.1 倍) |
| Average latency | ↓ 49.4 %(接近一半) |
| NIC atomic‑op load | ↓ ≈ 70 %(在 MN RNIC 上) |
| Scalability | 添加 CN 时吞吐量近线性增长,而基线因 NIC 饱和而出现平台期 |
| Recovery time | ≈ 30 % 低于锁重建方法 |
实验覆盖 YCSB 类型工作负载和类似 TPC‑C 的 OLTP 基准,表明锁优先协议显著降低了因读取后中止导致的网络流量浪费。
实际意义
- 对云服务提供商而言: 在去耦合内存集群(例如 NVIDIA DGX‑SuperPOD、Azure 的内存池服务)上部署 Lotus 可以提升资源利用率,而无需额外的硬件投入。
- 对数据库工程师而言: 现有基于 RDMA 的事务引擎可以采用先锁协议和锁分片逻辑,从而在高争用工作负载下实现立竿见影的性能提升。
- 对微服务开发者而言: 当服务共享同一个 DM 存储时,将锁状态迁移到服务宿主(CN)可以降低跨节点延迟,使细粒度事务语义在大规模场景下成为可能。
- 对系统架构师而言: 无锁重建的恢复模型简化了故障处理,降低了大规模 DM 部署的运维复杂度。
限制与未来工作
- 工作负载依赖性: Lotus 依赖局部性模式(例如热点键保持在少数计算节点上)。高度随机的访问模式可能会削弱分片平衡,并重新引发网络热点。
- 计算节点内存开销: 本地存储锁表会占用计算节点的额外内存,在某些环境下可能受限。
- 容错范围: 当前设计能够优雅地处理计算节点崩溃,但假设元节点可靠;将模型扩展至容忍元节点故障的研究留待未来。
- 更广泛的协议集成: 作者计划研究 Lotus 与多版本并发控制(MVCC)以及混合事务模型的交互,以在读写混合工作负载下进一步提升性能。
作者
- Zhisheng Hu
- Pengfei Zuo
- Junliang Hu
- Yizou Chen
- Yingjia Wang
- Ming-Chang Yang
论文信息
- arXiv ID: 2512.16136v1
- 分类: cs.DC
- 发布时间: 2025年12月18日
- PDF: 下载 PDF