[Paper] 基于 LLVM 的 SPDZ 优化流水线

发布: (2025年12月12日 GMT+8 04:53)
6 min read
原文: arXiv

Source: arXiv - 2512.11112v1

概览

本文提出了一种原型编译器‑运行时堆栈,将 SPDZ 安全多方计算(MPC)协议接入 LLVM 生态系统。通过让开发者编写普通(带注解)的 C 代码,系统自动提取并行性、批处理算术操作,并将通信与计算重叠——在 CPU 上实现最高 5.5× 加速,并支持可扩展的 GPU 加速。

关键贡献

  • 基于 LLVM 的前端,接受一小段带隐私注解的 C 子集并将其降至 LLVM IR,复用 LLVM 成熟的分析框架。
  • 自动批处理 独立算术操作,免去程序员手动表达并行性的需求。
  • 协议感知调度器 位于后端,执行数据流和控制流分析,以驱动非阻塞运行时,实现网络流量与本地计算的重叠。
  • GPU 卸载路径 在可用时将大批量算术内核映射为 CUDA 内核。
  • 实证评估 表明在 CPU 上相较 MP‑SPDZ 可实现最高 5.56× 加速,且随线程数呈强缩放;GPU 后端在更大输入时表现更佳。

方法论

  1. 前端解析 – 开发者使用轻量注解(如 @secret)标记私有值编写 C 代码。解析器将其转换为 LLVM IR,并将注解保留为元数据。
  2. LLVM 优化 – 标准 Pass(死代码消除、循环展开等)保持不变。随后自定义 Pass 检测独立算术语句 并将其归入 批次
  3. 后端分析 – 数据流 Pass 构建批处理操作的依赖图。控制流 Pass 确定可以将通信(发送/接收秘密分享)与独立本地工作重叠的点。
  4. 运行时调度器 – 调度器为非阻塞式:提前发送网络消息,然后在等待回复期间继续执行任何已就绪的批次。当批次足够大且存在 GPU 时,调度器将其派发至 CUDA 内核。
  5. 评估 – 作者在 SPDZ 的 在线 阶段对一套微基准(矩阵乘法、多项式求值等)进行基准测试,分别与最先进的 MP‑SPDZ 实现进行比较,涵盖仅 CPU 和 CPU+GPU 两种配置。

结果与发现

配置相对 MP‑SPDZ 的加速缩放行为
CPU,1 线程1.8× – 2.3×(轻负载)接近线性至 8 核
CPU,8 线程最高 5.56×(重代数)强缩放,16 线程后收益递减
GPU(CUDA)相比仅 CPU 提升 2.5× – 4.0×(大输入)随批次规模增大而提升;小问题开销可忽略

关键要点

  • 自动批处理 消除了现有 SPDZ 工具链中大部分手动并行工程工作。
  • 非阻塞调度 隐藏网络延迟,尤其在网络高延迟但带宽大的情况下收益显著。
  • GPU 加速 在批处理工作量超过几千次算术操作后才具备成本效益,匹配真实 MPC 任务(如隐私保护的机器学习推理)的典型规模。

实际意义

  • 降低入门门槛 – 开发者现在只需使用熟悉的 C 代码并添加简单注解,而无需学习领域特定语言或手工构建并行 MPC 流水线。
  • 更快的生产部署 – 观察到的加速直接转化为更低的计算成本和更紧的延迟预算,适用于安全拍卖、联邦分析等隐私保护服务。
  • 硬件无关的可扩展性 – 同一代码库可在多核 CPU 上高效运行,也可在无需代码修改的情况下升级至 GPU 加速集群,实现工作负载增长的平滑迁移。
  • 集成潜力 – 由于前端输出标准 LLVM IR,现有工具链(Clang、Rust‑LLVM 后端等)可以扩展以支持 SPDZ,为更广泛的语言支持打开大门。

局限性与未来工作

  • C 子集 – 目前仅支持有限的语言特性(直线算术、简单循环),复杂数据结构和动态内存不在范围内。
  • 仅关注在线阶段 – 评估集中在在线阶段;离线预处理(乘法三元组的预计算)未得到加速。
  • 原型成熟度 – 系统仍为概念验证;稳健性、错误处理以及与现有 MPC 框架的集成仍需进一步工程化。
  • 未来方向 – 将前端扩展至完整的 C/C++(或其他语言),加入对其他 MPC 协议(如 BGV、CKKS)的支持,并探索 CPU、GPU 与 FPGA 加速器的异构调度。

作者

  • Tianye Dai
  • Hammurabi Mendes
  • Heuichan Lim

论文信息

  • arXiv ID: 2512.11112v1
  • 分类: cs.CR, cs.DC, cs.SE
  • 出版时间: 2025 年 12 月 11 日
  • PDF: Download PDF
Back to Blog

相关文章

阅读更多 »

[Paper] 基于超图的多方支付通道

公共区块链本身吞吐量低、延迟高,这促使人们寻找链下可扩展性解决方案,例如支付通道网络(Payment Channel Networks,PCNs)。然而……