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)の内在的な無関心性を活用して、事前にメモリアクセスパターンを計算し、最適で能動的なメモリ管理計画を生成する、革新的なメモリプログラミング手法を導入する。非同期プリフェッチとBeladyのMINアルゴリズムを組み合わせることで、物理メモリを超えるSCワークロードにおいて、OSのバーチャルメモリを最大10倍の速度で上回る、ほぼインメモリ性能を達成する。

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.

研究の動機と目的

  • 物理メモリを超えるプログラム実行時に生じる高いメモリオーバーヘッドと、OSバーチャルメモリの非効率性によって引き起こされる安全計算(SC)における重要な性能ボトル neck を解消すること。
  • 入力データとは無関係なメモリアクセスパターンを示すSCプロトコルの内在的無関心性を活用し、能動的かつ事前計算されたメモリ管理を可能にすること。
  • 物理メモリに収まらないSCワークロードに対しても、ほぼインメモリ性能を達成するシステムを設計し、ほぼゼロコストのバーチャルメモリを実現すること。
  • ヒューリスティックなページ置換アルゴリズム(例:LRU、LFU)の限界を乗り越えるために、理論的に最適なアルゴリズム(例:BeladyのMIN)を事前計画の文脈で適用すること。

提案手法

  • MAGEは、SCプロトコルが本質的に無関心であることに着目し、メモリアクセスパターンがデータに依存せず、実行前に静的に分析可能であることを確認する。
  • SC回路を表現するドメイン固有言語(DSL)を用い、すべてのプログラムフェーズにわたる完全なメモリアクセスパターンを静的に抽出する。
  • この完全なアクセスパターンに基づき、MAGEはBeladyのMINアルゴリズムを適用して、合計メモリ転送数を最小化する最適なページ除外順序を決定する。
  • 事前に計算されたアクセスパターンに基づいて非同期プリフェッチを実装し、実行時におけるデータフェッチによるスターブを完全に回避する。
  • 大規模なメモリプログラミング問題を効率的に解くために段階的計画手法を採用し、データフローグラフの粗粒度化によって指数時間ソルバーを回避する。
  • SCフレームワークと統合するため、実行時に実行される「メモリプログラム」(メモリとストレージ間の事前計画済みデータ転送のシーケンス)を生成する。

実験結果

リサーチクエスチョン

  • RQ1物理メモリに収まらないワークロードに対して、安全計算(SC)を効率的に実行できるか?
  • RQ2SCプロトコルの内在的無関心性を活用して、事前にメモリアクセスパターンを計算し、能動的メモリ管理を可能にできるか?
  • RQ3理論的に最適なBeladyのMINアルゴリズムに基づくメモリ管理戦略が、そのクラリベイント性ゆえに古典的ページングでは実現不可能であるが、SCシステムにおいて実用的に適用可能か?
  • RQ4メモリプログラミングによって、従来のOSバーチャルメモリと比較して、実行時遅延をどれほど低減し、スループットを向上できるか?

主な発見

  • MAGEは、物理メモリ容量を超えるSCワークロードにおいて、OSバーチャルメモリシステムを最大10倍の速度で上回る実行速度を達成する。
  • MAGEにより、特定のSC計算が、物理メモリが無制限に存在するかのように、ほぼインメモリ速度で実行可能になる。これは、作業セットがメインメモリを超える場合でも同様に成立する。
  • アクセスパターンを事前に計算し、MINベースの置換と非同期プリフェッチを適用することで、MAGEは実行時におけるメモリアクセスによるスターブを完全に排除し、計算リソースの高い利用度を実現する。
  • メモリプログラミングアプローチにより、MAGEはBeladyのMINのような理論的に最適なアルゴリズムを活用可能となる。これは、古典的ページングではそのクラリベイント性ゆえに実現不可能であるが、静的解析によりここでは実現可能である。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。