跳到主要内容
自适应运行时物理设计 · MorphoSys → AURA

第1章:从'锁放哪'到'运行时物理设计'—— v27 thesis 重塑

v25 (adaptive lock placement) → v27 (5 维度 runtime physical design) 的演进、5 个自适应维度的诚实分级、boundary statement 的来历、3 个 contribution 的可复述版本

AURA v27 Runtime Physical Design Adaptive OLTP Disaggregated Memory MorphoSys Thesis Reframing

读 AURA v27 论文最大的陷阱是把它当成模块二十三《AURA 论文精讲》的”小修订版”——其实不是。v27 经历了一次 thesis 重塑:从”自适应锁所有权”(v25/v26)升级到”事务控制路径的运行时物理设计”(5 个维度)。如果你只记住”AURA = 把锁搬来搬去”,你会答不上评委问的两个核心问题:哪些维度真做了、哪些是 partial、哪个是 future? 以及 AURA 这条 abstraction 边界在哪里、为什么不是 “adaptive everything”? 本章把这两个问题一次讲清楚,是整本教程的”地基章”——读完你能不打开 paper 就独立讲一遍 v27 的 thesis、3 个 contribution、和 boundary statement。

📑 目录


1. 一句话主张:v25 → v27 的 Δ

v25 时期 AURA 的主张是工整且收敛的:

v25 AURA:把”锁所有权”从静态部署决策升级成在线物理设计问题——通过 router 进程集中编排的”访问图 → cohort 学习 → ownership planning → migration → affinity routing”闭环,让锁所有权在不丢一致性的前提下跟随工作负载漂移。

这句话在两年前是 fresh 的,但它有一个抽象层级问题:它把整个 paper 框死在了”锁放哪”这一单一维度上。v27 reframing 之后,主张被升级了:

🌟 v27 AURA:把事务控制路径(control path)的运行时物理设计做成可在线决定的对象——具体包括 5 个维度:执行位置、仲裁位置、仲裁粒度、MN 主权、Mode/fallback。AURA 通过 router-side adaptive planner 在这 5 维度的子空间上做 in-line decision,而非只对”锁”这一维做 placement

Δ 关键点有 3 条:

  1. 抽象 scope 变大:v25 的 actuation 只在”锁”,v27 把 actuation 扩到 5 个维度(execution / arbitration loc / granularity / MN primary / fallback mode)。
  2. 抽象 scope 仍然有边界:v27 做 data placement / replica rebalance / index repartition / storage reconfig——这是 boundary statement(见 §4)。
  3. 诚实分级取代”做完才发”:v27 paper §3.2 公开承认 5 维度的完成度是 full × 3 + partial × 1 + future × 1——这本身就是学术诚实策略,跟 v25 “做完才写”的风格完全不同(见 §5)。

🍎 直觉比喻:v25 的 AURA 像”会自己挪柜台的银行”。v27 的 AURA 是”会自己挪柜台、会拆分柜台业务、会决定客户去哪个支行、并且明确声明不动金库选址和现金运送路线”的银行——能力更广,但边界标得更清楚。

🌟 一句话总结:v27 的核心 Δ 不只是”做了更多 lever”,更重要的是把”自适应”的抽象边界画清楚——broader in abstraction, narrower in actuation。


2. v27 thesis 的全文版

v27 paper outline §1 的 thesis 段如下:

在分离式内存 OLTP 系统中,瓶颈会随着 CN 扩展和 workload phase 变化在多种资源之间漂移:MN-side RDMA atomics、CN-CN coordination RPCs、CN-side CPU/owner load、争用 hot key 各自在不同条件下成为瓶颈。现有系统把事务执行位置和冲突仲裁位置写死。AURA 引入一个 runtime physical-design 层——基于 workload access graph 和资源压力信号,逐 cohort、逐 dispatch 在线决定事务控制该住在哪里——cohort owner CN、txn 执行位置、仲裁粒度

把这段话拆成 4 个可独立辩护的小论点(评委可能从任何一条出发挑战):

小论点它在反驳谁证据章节
(a) 瓶颈不是固定的,会在多种资源间漂移”我们只优化 atomic IOPS 就行了”派§2.4 三源 shift + §6.3 drift
(b) 现有系统把 control 位置写死默认 LOTUS / FORD / CREST 的静态分配§2.1 三行 motivation 表
(c) Runtime physical-design 层可以做、且可以做正确怀疑”在线搬不一致”的人§3.8 epoch handoff + §5 I1/I2/I3
(d) Workload access graph + 资源压力信号足以做决策”需要更多元数据”派§3.3 Benefit + §3.4 tuner

每一条都是”thesis 在某一维度上的可挑战面”——评委 / 合作者会从这 4 条任挑 1 条进攻。你的回应稿应该是:先承认对方挑战的是哪一条,再用对应的证据章节作答。

🧠 关键洞察:好的 thesis 一定是可挑战的而不是 sweeping statement。v27 thesis 把 4 条小论点都摆明了,是 paper §1 强 vs §1 弱的分水岭。


3. 5 个自适应维度的诚实分级

v27 paper §3.2 用一张表把 5 维度 × 实现状态摆出来:

维度描述v27 实现状态对应代码 anchor
1. 执行位置哪个 CN 跑 txn bodyfullTpccClient.cc:281 cohort-owner routing
2. 仲裁位置CN local lock vs MN CAS⚠️ partial(LOCAL 43% ✓ + REMOTE_OWNER W11 backlog)OwnerLockTable + W9/W11
3. 仲裁粒度per-key / cohort / partitionfullCohortGenerator + A2 + A3
4. MN 主权哪个 MN replica 是 masterfuture(单 MN bench 无法 exercise)future work
5. Mode/fallbackplanner 可让 cohort 走 fallbackfullEpochManager + W14.5

诚实分级的 4 条规则

  1. 不省略未做的维度——MN 主权这一维即使没做也写进表,作为 future work
  2. 不模糊 partial 的真实状态——仲裁位置只写 43% LOCAL takeover 跑通,REMOTE_OWNER 99.5% abort cascade 也写
  3. 代码 anchor 必须真实存在——每行的”对应代码 anchor”都是 grep 可定位的真实文件
  4. 状态分级跟章节交叉引用——partial 的 W11 backlog 在第 7 章完整 post-mortem 展开

这种 3-full + 1-partial + 1-future 的诚实分级不是缺点,是论文的卖点之一。评委读完会觉得”作者完全清楚自己做到哪了”,比”全 full”的吹牛 paper 更可信。

🌟 结论:5 维度表是 v27 §3.2 的 headline 表,所有”AURA 做了什么”的问题都应该把读者引导到这张表,再展开具体维度。


4. AURA 的 boundary statement

v27 paper §1 在 thesis 之后立即给出一条 boundary statement:

AURA is broad in abstraction but narrow in actuation. It adapts transaction-control objects (routing, lock authority, cohort granularity), not data placement, replica rebalancing, index repartitioning, or storage reconfiguration.

这条 boundary 段必须早出现——很多读者读到 §3 才反应过来”哦 AURA 不动 data placement”,那就晚了。早写出来有 3 个具体作用:

  1. 预防 reviewer Q1:评委读完 abstract 第一反应往往是”那跟 OtterTune / Bao 有啥区别”。Boundary 立刻给出答案:actuation surface 不同——OtterTune 调 storage 参数,Bao 调 query plan,AURA 调 transaction control 对象。
  2. 预防 reviewer Q2:“你这套方法能不能直接搬到 data placement?” → 答:“那是不同的 actuation surface,AURA 在这套抽象里专注 control plane 对象,data plane 留给 B5 cache 等 future work。”
  3. 给团队留 future work 接口:明确说”data placement 不在 AURA 范围”,B5 cache / index repartition 这些 future work 才有清晰的接口。

🧠 关键洞察actuation surface(执行面)abstraction layer(抽象层级) 更能区分 adaptive 工作。两篇 paper 都讲”自适应”,关键差异往往不在”用 ML 还是用 rule”,而在”我能动什么、我不动什么”——这就是 boundary statement 要回答的。

把这条原则推广:任何讲 “adaptive X” 的 paper,§1 必须有 boundary statement。这是 v27 写作上向 MorphoSys / Bao / OtterTune 借来的格式约定。


5. 3 个 contribution 的可复述版本

v27 paper §1 列了 3 个 contribution(不是 4 个)。每条都必须”能独立辩护、能被评委挑战”:

Contribution 1: Problem framing

我们 empirically 证明 transaction control placement 是 disaggregated transactions 的一个 runtime physical-design 问题——既不是 MN-only locks(CREST:scale 不上去)能解决,也不是 CN-only locks(LOTUS:phase shift 下 RPC fan-in 死锁)能解决。

可挑战面:评委可能问”这不是 LOTUS 早就发现的吗?”

  • 回应:LOTUS 发现了 lock placement 这一维,但没有 framing 成”5 维 runtime physical design”。v27 把它从”一个 design choice”提升到”一个 problem class”。
  • 证据:§6 W9/W11 stranded-lock aura.lock.granted=88% + 99.5% abort cascade 这一行—— 证明 LOTUS 化的天真版会爆。

Contribution 2: AURA system

AURA 是一个 router-side adaptive planner,jointly tunes (a) cohort granularity (split / affinity-binding), (b) cohort owner placement, (c) per-cohort lock arbitration location。两个互补的 tuner 驱动 cost coefficient——rule-based tuner (A1.a) 和 SGD-based tuner (A1.b)。Future-cost reservoir (A4) 维护 256-sample 窗口,让 planner 能 score 未来 txn 形状。

可挑战面:评委可能问 “你不是只有 2 个 lever 起作用?”

  • 回应:v27 §6.2 5-cell ablation 显示 A1 +2%、A2/A3 在静态下 neutral——这是诚实数据。但 §6.3 drift 下 A2/A3 的 migrations+splits 频率提升 ~20×——levers 真在动,只是静态 workload 没 exercise。
  • 证据:§6.2 5-cell ablation + §6.3 drift workload + §6.4 SGD weight evolution。

Contribution 3: Safe reconfiguration protocol

Epoch-based handoff + W14 invariant (no dual authority) 在自适应 move 期间保证 SI 不破。我们证明 I1 / I2 / I3 invariants 并在 §6 ablation matrix 下展示 correctness。

可挑战面:评委可能问 “你这跟 Calvin / Spanner 的 epoch 有什么区别?”

  • 回应:Calvin/Spanner 的 epoch 是 deterministic execution 或 global timestamp 的 boundary;AURA 的 epoch 是 adaptive reconfiguration 的 boundary——粒度更细(per-cohort)、频率更高(100ms tick)、actuator 不同(lock authority 而不是 deterministic order)。
  • 证据:§5 I1/I2/I3 proof sketch + §3.8 freeze-drain-handoff-publish 时序。

🌟 结论:3 个 contribution 各自独立成立,但互相支撑——C1 给出 problem,C2 给出 solution,C3 给出 correctness。少任意一条 paper 都不完整。


6. 在 OLTP 谱系里的最新坐标

v25 时期把 AURA 放进 DM 事务谱系:

   高 atomic 压力 ◄──────────────────────────────────► 低 atomic 压力
        FaRM ── FORD ── Motor ── CREST ── LOTUS ── AURA-v25

v27 reframing 后,这条谱系不变,但 AURA 的坐标更精准:

                    锁的物理位置(atomic IOPS 压力)+ 运行时物理设计 actuation surface
   高 ◄──────────────────────────────────────────────► 低
        FaRM ── FORD ── Motor ── CREST ── LOTUS ── AURA-v25 ── AURA-v27
                                                    │           │
                                                    │           └─ 5 维度 runtime physical design
                                                    │                + MorphoSys-inspired A1-A4 levers
                                                    │                + 诚实分级 (3 full + 1 partial + 1 future)
                                                    │                + Negative results as evidence

                                                    └─ 单一维度 (lock placement)
                                                         + Router-Centric 闭环
                                                         + access graph + cohort learning

跟其他几篇 adaptive OLTP / physical design 工作的对照:

系统actuation surface频率adaptive 方式
OtterTune (SIGMOD’17)DBMS config 参数小时级离线 GP / 在线 finetune
Bao (SIGMOD’21)query plan 选择每查询RL contextual bandit
MorphoSys (VLDB’20)storage layout (row/column/index)分钟级rule + workload predictor
AURA v27transaction control (routing, lock, granularity)100 msrule + SGD + reservoir

🍎 直觉比喻:OtterTune 调”楼盘的物业管理”、Bao 调”客人怎么走”、MorphoSys 调”楼里的房间布局”、AURA v27 调”楼里的电梯调度 + 业务窗口分配”——actuation surface 各管一段,互不抢占。

🧠 关键洞察:v27 把 MorphoSys 的方法论(cost model 在线学习 + layered levers)借来用在新的 actuation surface(transaction control)上——是方法论迁移,不是直接 fork 或重做。


7. 一页 v27 定位图与第 2 章预告

       ┌─────────────────────────────────────────────────────────────┐
       │  AURA v27 — Adaptive Runtime Physical Design for            │
       │            Transaction Control on Disaggregated Memory      │
       │                                                             │
       │  ┌──────────────────────────────────────────────────────┐   │
       │  │ 5 维度 actuation surface                              │   │
       │  ├──────────────────────────────────────────────────────┤   │
       │  │  1. Execution location          ✓ full               │   │
       │  │  2. Arbitration location        ⚠ partial            │   │
       │  │  3. Arbitration granularity     ✓ full               │   │
       │  │  4. MN primary authority        ✗ future             │   │
       │  │  5. Mode / fallback             ✓ full               │   │
       │  └────────────────────┬─────────────────────────────────┘   │
       │                       │                                     │
       │      ┌────────────────┴───────────────────┐                 │
       │      │ MorphoSys-inspired adaptive levers │                 │
       │      ├────────────────────────────────────┤                 │
       │      │  A1.a Rule tuner   (cost coeff)    │                 │
       │      │  A1.b SGD tuner    (cost coeff)    │                 │
       │      │  A2   Affinity binding (cohort)    │                 │
       │      │  A3   Cohort split (granularity)   │                 │
       │      │  A4   Reservoir (predicted local)  │                 │
       │      └────────────────────┬───────────────┘                 │
       │                           │                                 │
       │      ┌────────────────────┴─────────────────────────────┐   │
       │      │ Safe reconfiguration: I1 / I2 / I3 + W14 guard   │   │
       │      └──────────────────────────────────────────────────┘   │
       │                                                             │
       │  Boundary: adapts CONTROL plane objects only.               │
       │            Data placement / replicas / index / storage      │
       │            are out of scope (boundary statement).           │
       └─────────────────────────────────────────────────────────────┘

第 2 章预告:本章只讲”AURA v27 是什么”。第 2 章是必备底座——读懂 v27 paper §2 motivation 之前,你必须先吃透:

  • ConnectX-6 Dx atomic IOPS 物理墙(为什么不能水平扩)
  • OCC 三阶段 + lock 在每阶段的角色差异
  • CREST (MN-only) vs LOTUS (CN-only) 的三行 motivation 表
  • bottleneck shift 在 CN scale-out / phase / mode mix 三轴的真实路径

读完第 2 章你能不查任何资料回答:“为什么 CREST 撑不住 8 CN?""为什么 LOTUS 知道 critical field 就够了?""v27 又多对应了哪一种瓶颈?”


✅ 自我检验清单

  • thesis Δ:能在 30 秒内说出 v25 → v27 的核心差异(抽象 scope 变大 + 边界变清 + 诚实分级)
  • 5 维度:能默写 5 个 dimension 名字 + 每个的 v27 状态分级(full × 3 + partial × 1 + future × 1)
  • boundary:能解释为什么 boundary statement 要早早写出来,与 OtterTune/Bao/MorphoSys 怎么用 actuation surface 区分
  • 3 contribution:能独立辩护每一条 contribution,并对每条预想 1 个评委挑战 + 1 个证据回应
  • 谱系坐标:能画 FaRM → FORD → Motor → CREST → LOTUS → AURA-v25 → AURA-v27 一条线,并说出每个节点比前一个多做了什么
  • MorphoSys 关系:能说出 AURA 的 lever A1-A4 哪些命名沿用 MorphoSys、actuation surface 跟 MorphoSys 的本质区别
  • 诚实分级哲学:能解释为什么 “3 full + 1 partial + 1 future” 比 “全 full” 对评委更可信

📚 参考资料

概念入门

  • v27 paper outline §1CREST-aura-impl/CREST-Opensource-0007/docs/aura/v27_paper_outline.md —— thesis + 3 contribution + boundary 的 source of truth
  • AURA 一句话主张(v25):模块二十三《AURA 论文精讲》第1章 §1

关键论文

  • MorphoSys (VLDB’20) —— adaptive physical design 方法论起源;A1-A4 lever 命名 + cost model 在线学习的格式约定
  • OtterTune (SIGMOD’17, Van Aken et al.) —— DBMS config 自适应 vs AURA 的 actuation surface 对照
  • Bao (SIGMOD’21, Marcus et al.) —— learned query optimization;与 AURA 的 actuation surface 对照
  • LOTUS —— 静态 lock placement 基线;§6.4 RQ4 缺失对照基线候选

行业讨论

框架文档(代码 anchor)

  • src/transaction/aura/OwnershipPlanner.cc::ComputeBenefit —— Benefit 函数定义点
  • benchmark/Client/RouterControlLoop.cc —— router 进程主循环
  • benchmark/Client/TpccClient.cc:281 —— Dim 1 执行位置 routing 实现

📎 v25 对照视角:模块二十三-AURA 论文精讲 第1章-AURA是什么-把锁所有权变成在线物理设计 —— v25 主张仍然有效,但 v27 把 actuation 从 1 维扩到 5 维 + 加入诚实分级