跳到主要内容
AIInfra学习路线

分离式内存事务系统全景调研 学习路线

DM 事务领域 12 年演进的横向调研路线:从 FaRM 到 AURA,覆盖核心问题地图、设计派系、RDMA 利用模式、索引与 MVCC、持久化与恢复、评测方法论、开放方向

Disaggregated Memory RDMA Distributed Transactions OCC MVCC FaRM FORD Motor LOTUS AURA Survey

DM 事务系统从 FaRM(NSDI’14)到 AURA(2026)已经走了 12 年。这条线上的论文有 30+ 篇,散落在 NSDI/OSDI/SOSP/ASPLOS/VLDB/SIGMOD/FAST/ATC 各个会议上,每篇都解了一个具体问题但又留下新 gap。本路线把这 12 年系统串成一条横向的全景调研——演进时间线、核心问题地图、设计派系全图、RDMA 利用范式、索引/MVCC/持久化/故障的工程权衡、评测方法论、开放方向。读完你会拿到这个领域完整的”地图能力”:看任何 DM 事务新论文都能秒判它在地图哪个角落、解了哪个问题、留下什么 gap。

与模块十五(AURA 论文系统化拆解)互补:模块十五是”一篇论文的纵深”,本模块是”整个领域的横扫”。先读本模块建立 landscape,再读模块十五深挖一篇是建议路径。

📑 目录


🌟 全景概览:为什么 DM 事务是分布式系统重新洗牌的角

传统分布式数据库的研究主线是**“如何让多个节点保持事务一致性”**——2PC、3PC、Paxos、Raft、Calvin、Spanner、Cockroach 这条线。它的隐含前提是:每个节点都是完整的”计算 + 存储”单元

DM(Disaggregated Memory)打破了这个前提。在 DM 架构里:

  • CN(Compute Node):只有 CPU + 缓存,几乎不持久化数据
  • MN(Memory Node):只有内存,没有应用 CPU 参与的余地——它的 RNIC 处理 RDMA 请求,DMA 到/从主机内存
   传统分布式数据库               DM 事务系统
   ──────────────────              ──────────────────
   ┌──────────┐                    ┌──────────┐  ┌──────────┐
   │ Node A   │                    │ CN       │  │ CN       │
   │ ┌──────┐ │                    │ logic    │  │ logic    │
   │ │ CPU  │ │                    │ + cache  │  │ + cache  │
   │ │ Disk │ │                    └────┬─────┘  └────┬─────┘
   │ │ DRAM │ │                         │             │
   │ └──────┘ │                         │  RDMA       │
   └──────────┘                         ▼             ▼
        ↕ network                   ┌─────────────────────┐
   ┌──────────┐                     │ MN (passive memory) │
   │ Node B   │                     │  data + locks       │
   │  ...     │                     │  no application CPU │
   └──────────┘                     └─────────────────────┘

🧠 核心洞察:DM 把”事务一致性”从”多个 active 节点协商”变成”多个 active CN 协商如何安全使用同一个 passive 存储池”。这是分布式事务问题的重新定义——很多 2PC/Paxos 的设计前提不再适用。

🍎 直觉比喻:传统分布式数据库像”多家分行各管一片,需要时打电话给对方”;DM 像”所有分行共享同一个保险库(MN),只能通过电子门禁(RDMA)操作里面的物品”。保险库不会主动做任何事

这个架构带来 4 类全新挑战:

挑战对应章节
不能在 MN 跑代码 → 锁状态机怎么维护§3, §4
RDMA atomic IOPS 是物理上限 → 怎么不撞墙§3, §5
MN 不主动 GC/recovery → 持久化和故障模型怎么设§7
OCC 是默认范式 → 但 validate / lock 路径怎么优化§3, §4, §6

🌟 一句话主旨DM 事务不是”网络更快的 Spanner”,而是”硬件假设根本不同的新物种”——读完本模块你会理解为什么这 12 年涌现这么多论文。


📖 章节导览

整个模块 9 章,从领域定义到开放方向:

主题核心问题主要系统/论文
1DM 事务定义与领域边界DM vs 单机 vs 共享存储 vs 经典分布式,4 个区分维度LegoOS / FaRM / Spanner
212 年演进时间线:FaRM → AURA每个里程碑做了什么、留下什么 gap时间线 + 12 篇论文
38 个核心问题地图atomic IOPS / RTT / OCC / 锁布局 / 索引 / MVCC / 持久化 / 故障问题驱动
4协议设计派系全图单版本 vs MVCC、OCC vs 2PL、集中 vs 分散锁、有 leader vs 无谱系学
5RDMA 利用模式one-sided / two-sided / hybrid、batch、MR 布局FaRM / FaSST / DrTM+H
6索引、版本与 MVCChash / Btree / LSM 在 DM 上的差异、版本表设计RACE / SMART / Motor / Sherman
7持久化、故障与恢复PMEM / RDMA log / checkpoint / recovery 模型Clover / FORD-PMEM / Plor
8评测方法论与 benchmarksTPC-C / SmallBank / TATP / YCSB 在 DM 上的适配benchmarks 综述
9开放问题 + 自家工作 CREST/AURACXL / AI infra / 异构 NIC / cross-DC + AURA 这一支的 contribution未来方向

🍎 学习顺序建议:第 1-2 章必读(建立全局观)→ 按你最感兴趣的子方向选 §3-§7(每章独立)→ §8 实验方法论 → §9 看自家工作如何在地图里定位。


⏳ 40 篇里程碑论文清单

按时间排,分 5 个时代:

时代 1:奠基(2014–2017)

年份论文一句话贡献
2014FaRM (Dragojević et al., NSDI’14)首篇系统性 RDMA OCC 事务,奠定单边 + lock-bypass 路线
2015DrTM (Wei et al., SOSP’15)RDMA + HTM 协同,“硬件 + 网络”加速
2016FaSST (Kalia et al., OSDI’16)反直觉论证:two-sided 在某些场景比 one-sided 快
2016Design Guidelines for High Performance RDMA Systems (Kalia, ATC’16)RDMA 设计 best practices 总结
2017InfiniSwap (Gu et al., NSDI’17)RDMA-based 远端 swap,DM 概念落地早期工作

时代 2:消化与重构(2018–2020)

年份论文贡献
2018DrTM+H (Wei et al., OSDI’18)hybrid verbs 调度,按场景混用 one-sided / two-sided
2018LegoOS (Shan et al., OSDI’18)Disaggregated OS 概念奠基
2018Hyperloop (Kim et al., SIGCOMM’18)大规模 RDMA flow scheduling
2019Storm (Kim et al., FAST’19)RDMA 调度的 fairness
2020RACE (Zuo et al., ATC’20)DM 上的高效 hash 索引

时代 3:DM 事务专项(2020–2022)

年份论文贡献
2020NAM-DB (Zamanian et al., VLDB’20)NIC-attached memory 数据库
2021XStore (Wei et al., OSDI’20)RDMA-aware learned index
2022FORD (Zhang et al., FAST’22)单版本 DM 事务,cache-line 对齐锁 + doorbell batch
2022Sherman (Wang et al., SIGMOD’22)分布式 B+tree on DM
2022Clover (Tsai et al., ATC’20)DM 上的快速持久化 KV

时代 4:MVCC 与持久化(2022–2024)

年份论文贡献
2023Plor (Lee et al., ATC’23)DM 持久化日志加速
2023Outback (Choi et al., NSDI’23)异步 RDMA OCC validation
2024Motor (Wu et al., OSDI’24)MVCC + 一致版本表,支持 SI
2024SMART (Luo et al., FAST’24)DM 上的 LSM-tree
2024Outpost (Wang et al., ASPLOS’24)DM 上的 streaming OCC

时代 5:锁分离 + 控制面(2025–2026)

年份论文贡献
2025LOTUS (Liu et al., arXiv’25)首次把锁提到 CN,应用提供 critical field
2025CREST(开源 DM 事务系统)针对高冲突倾斜负载,cell-level OCC + MVCC,自带 FORD/MOTOR 对比实现
2026AURA (本路线主体)动态锁所有权 + 闭环控制 + 在线 cohort 学习

🍎 建议精读 8 篇(按时间):FaRM → FaSST → DrTM+H → FORD → Motor → Sherman → LOTUS → AURA。这 8 篇覆盖 90% 的领域核心思想


🛠️ 系统对比速查表

协议派系

维度选项代表系统
并发控制OCC / 2PL / hybridFaRM, FORD, Motor: OCC / DrTM: HTM+OCC
版本单版本 / MVCCFORD: 单版本 / Motor, Outpost: MVCC
锁权威位置MN / CN-static / CN-dynamicFaRM/FORD/Motor: MN / LOTUS: CN-static / AURA: CN-dynamic
Validate同步 / 异步 / pipelinedFaRM/FORD: 同步 / Outback/Outpost: 异步
Indexhash / Btree / learned / LSMRACE: hash / Sherman: Btree / XStore: learned / SMART: LSM
持久化DRAM / PMEM / NVMeFaRM: DRAM / Clover/FORD-PMEM: PMEM

RDMA 利用

系统主路径备路径
FaRMone-sided READ + CAStwo-sided 控制
FaSSTtwo-sided
DrTM+Hhybrid 调度
FORDone-sided + doorbell batch
Motorone-sided + masked CAS
AURAone-sided 数据 + 本地锁fallback to MN one-sided

评测 benchmark

Benchmark性质在 DM 论文中常用
TPC-COLTP 标准(写密集)几乎所有 DM 事务 paper
SmallBank简单 OLTPFORD / Motor
TATP电信场景(读密集)FaRM / FORD
YCSB通用 KVRACE / Sherman
Custom microbench单点测 atomic IOPS / lock contentionLOTUS / AURA

🧭 新人破局指南

学习路径(推荐 4–6 周)

第 1 周:领域 landscape

  • §1 + §2 必读
  • 目标:能默写 12 年时间线 + 5 个时代分期

第 2 周:核心问题地图

  • §3 + §4
  • 精读 FaRM + FORD + Motor 三篇 paper
  • 目标:能用一句话区分 OCC / MVCC / 锁集中 / 锁分散

第 3 周:RDMA 工程细节

  • §5
  • 跑 perftest(ib_send_bw / ib_atomic_bw / ib_read_bw)
  • 目标:能用实测数字解释 atomic 为什么是瓶颈

第 4 周:索引、MVCC、持久化

  • §6 + §7
  • 选 1–2 个具体论文(Sherman / Motor)深读
  • 目标:能描述 DM 上 Btree 实现的 3 个工程难点

第 5 周:评测方法论

  • §8
  • 目标:能设计一组合理的 baseline + workload 矩阵

第 6 周:开放问题与自家工作

  • §9
  • 目标:能找到一个还没人做的 gap,作为新工作灵感

三个高频踩坑

  1. 以为 DM 事务 = 网络更快的 Spanner:DM 的核心约束是”MN 不参与”,这是物理层差异,不是性能差异。Spanner 的很多设计在 DM 下根本不适用。
  2. 以为 RDMA atomic 能水平扩:atomic IOPS 是 NIC 单卡硬上限,加 QP 不能扩。这个误解是大多数读者第一次看 LOTUS / AURA 困惑的根源
  3. 以为 OCC 比 2PL 慢:在 DM 下恰恰相反——OCC 不需要 MN 参与,2PL 需要。所有 DM 事务系统几乎都用 OCC

核心思维:DM 改变的设计公理

经典分布式假设DM 现实
远端节点能跑代码不能(MN 是被动存储)
锁的”等待”语义可用不可用(要远端线程被唤醒)
数据迁移是核心手段代价高(违反 disaggregation)
一致性 = 共识一致性 = 单边原语 + 不变式

🌟 理解这张表就理解了”为什么 DM 事务是另一种生物”。


📚 参考资料

综述与背景

  • The Datacenter as a Computer (Barroso et al., 3rd ed., 2018) —— Warehouse-scale computing 奠基
  • A Survey on Disaggregated Memory (Wang et al., 2023) —— 早期综述
  • A Tale of Two Trees (Levandoski et al., 2014) —— 索引派系经典对比

关键论文(按时代分)

  • 奠基期:FaRM (NSDI’14),DrTM (SOSP’15),FaSST (OSDI’16),Design Guidelines (ATC’16)
  • 消化重构期:DrTM+H (OSDI’18),LegoOS (OSDI’18),RACE (ATC’20)
  • DM 事务专项:FORD (FAST’22),Sherman (SIGMOD’22),Clover (ATC’20),XStore (OSDI’20)
  • MVCC 持久化:Motor (OSDI’24),SMART (FAST’24),Outpost (ASPLOS’24),Outback (NSDI’23)
  • 锁分离 + 控制面:LOTUS (arXiv’25),CREST(开源 DM 事务系统),AURA (本路线 §9)

工业系统与开源

  • CREST 仓库 —— 本路线第 8/9 章实战载体
  • rdma-core 文档
  • MLNX OFED 4.9 release notes

实战环境

  • CloudLab Utah c6525-25g —— 主战场
  • APT cluster (Utah) —— 跨硬件 portability 实验