Skip to main content
QUICK REVIEW

[论文解读] MAGE: Nearly Zero-Cost Virtual Memory for Secure Computation

Sam Kumar, David Culler|arXiv (Cornell University)|Jun 23, 2021
Cryptography and Data Security被引用 4
一句话总结

MAGE 提出了一种新颖的内存编程方法,利用安全计算(SC)固有的无感知特性,预先计算内存访问模式并生成最优的主动内存管理计划。通过结合贝尔迪的 MIN 算法与异步预取,MAGE 在工作集超过物理内存的 SC 工作负载中实现了接近内存内部性能的效率,相比操作系统虚拟内存最高可提升一个数量级。

ABSTRACT

Secure Computation (SC) is a family of cryptographic primitives for computing on encrypted data in single-party and multi-party settings. SC is being increasingly adopted by industry for a variety of applications. A significant obstacle to using SC for practical applications is the memory overhead of the underlying cryptography. We develop MAGE, an execution engine for SC that efficiently runs SC computations that do not fit in memory. We observe that, due to their intended security guarantees, SC schemes are inherently oblivious -- their memory access patterns are independent of the input data. Using this property, MAGE calculates the memory access pattern ahead of time and uses it to produce a memory management plan. This formulation of memory management, which we call memory programming, is a generalization of paging that allows MAGE to provide a highly efficient virtual memory abstraction for SC. MAGE outperforms the OS virtual memory system by up to an order of magnitude, and in many cases, runs SC computations that do not fit in memory at nearly the same speed as if the underlying machines had unbounded physical memory to fit the entire computation.

研究动机与目标

  • 为解决安全计算(SC)中因高内存开销和操作系统虚拟内存效率低下,导致程序工作集超过物理内存时引发的关键性能瓶颈。
  • 利用 SC 协议固有的无感知特性——即内存访问模式与输入数据无关——实现主动的、预先计算的内存管理。
  • 设计一种系统,使无法容纳于物理内存的 SC 工作负载实现接近内存内部性能,从而近乎零成本地实现虚拟内存。
  • 通过在预规划环境中使用理论上最优的算法(如贝尔迪的 MIN 算法)来克服基于启发式策略的页面替换(如 LRU、LFU)的局限性。

提出的方法

  • MAGE 观察到 SC 协议本质上是无感知的,即内存访问模式与数据无关,可在执行前进行静态分析。
  • 它使用领域特定语言(DSL)表示 SC 电路,并静态提取程序所有阶段的完整内存访问模式。
  • 基于此完整访问模式,MAGE 应用贝尔迪的 MIN 算法,确定最优的页面驱逐顺序,以最小化总内存传输次数。
  • MAGE 基于预计算的访问模式实现异步预取,确保运行时不会因数据获取而产生停顿。
  • 它采用分阶段规划方法,高效解决大规模内存编程问题,通过粗化数据流图避免使用指数时间求解器。
  • 该系统通过生成内存程序——即运行时执行的、在内存与存储之间预规划的数据传输序列——与 SC 框架集成。

实验结果

研究问题

  • RQ1当工作集超过可用物理内存时,能否高效执行安全计算(SC)?
  • RQ2能否利用 SC 协议固有的无感知特性,预先计算内存访问模式,从而实现主动内存管理?
  • RQ3在 SC 系统中,基于贝尔迪的 MIN 算法的内存管理策略是否可实际应用,尽管其具有理论最优性?
  • RQ4与传统操作系统虚拟内存相比,内存编程在 SC 工作负载中能在多大程度上减少运行时延迟并提升吞吐量?

主要发现

  • 对于超过物理内存容量的 SC 工作负载,MAGE 的执行速度相比操作系统虚拟内存系统最高可提升一个数量级。
  • MAGE 使某些 SC 计算能够以近乎内存内部的速度运行,仿佛拥有无限物理内存,即使工作集超过主内存容量。
  • 通过预计算访问模式并结合基于 MIN 的驱逐策略与异步预取,MAGE 消除了因内存访问导致的运行时停顿,实现了计算资源的高效利用。
  • 内存编程方法使 MAGE 能够使用理论上最优的算法(如贝尔迪的 MIN),这些算法在经典分页中因需要预知未来而不可行,但在此处由于静态分析而得以实现。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。