[論文レビュー] Medha: Microcoded Hardware Accelerator for computing on Encrypted Data
Medhaは、柔軟でスケーラブルなアーキテクチャを備えたプログラマブルでマイクロコーディングされたFPGAベースのハードウェアアクセラレータであり、暗号化されたデータに対する効率的な同型暗号評価を可能にする。並列RNS多項式演算、オンチップメモリ、および1つのハードウェア設計で複数の多項式次数をサポートするための新規な分割統治技術を活用することで、最適化されたソフトウェア(Microsoft SEAL)と比較して最大78倍の高速化を達成した。
Homomorphic encryption (HE) enables computation on encrypted data, and hence it has a great potential in privacy-preserving outsourcing of computations to the cloud. Hardware acceleration of HE is crucial as software implementations are very slow. In this paper, we present design methodologies for building a programmable hardware accelerator for speeding up the cloud-side homomorphic evaluations on encrypted data. First, we propose a divide-and-conquer technique that enables homomorphic evaluations in a large polynomial ring $R_{Q,2N}$ to use a hardware accelerator that has been built for the smaller ring $R_{Q,N}$. The technique makes it possible to use a single hardware accelerator flexibly for supporting several HE parameter sets. Next, we present several architectural design methods that we use to realize the flexible and instruction-set accelerator architecture, which we call `Medha'. At every level of the implementation hierarchy, we explore possibilities for parallel processing. Starting from hardware-friendly parallel algorithms for the basic building blocks, we gradually build heavily parallel RNS polynomial arithmetic units. Next, many of these parallel units are interconnected elegantly so that their interconnections require the minimum number of nets, therefore making the overall architecture placement-friendly on the platform. For Medha, we take a memory-conservative design approach and get rid of any off-chip memory access during homomorphic evaluations. Finally, we implement Medha in a Xilinx Alveo U250 FPGA and measure timing performances of the microcoded homomorphic addition, multiplication, key-switching, and rescaling for the leveled HE scheme RNS-HEAAN at 200 MHz clock frequency. For two large parameter sets, Medha achieves accelerations by up to 68x and 78x times respectively compared to a highly optimized software implementation Microsoft SEAL running at 2.3 GHz.
研究の動機と目的
- クラウドコンピューティングにおける同型暗号(HE)のパフォーマンスボトルネックを解消するため、高速で柔軟なハードウェアアクセラレータを設計すること。
- 1つの再構成可能なハードウェアアーキテクチャを用いて、大規模な多項式次数を含む複数のHEパラメータセットをサポートすること。
- 同型評価中にオフチップメモリアクセスを排除することで、レイテンシとエネルギー効率を向上させること。
- 多項式演算における深い並列性と処理ユニット間の効率的な接続により、高いパフォーマンスを達成すること。
- 実世界のパフォーマンス指標において、既存のソフトウェアおよびハードウェアソリューションを上回る、実用的でプロトタイプ検証済みのアクセラレータを提供すること。
提案手法
- より大きな環 $ R_{Q,2N} $ における計算を、より小さな環 $ R_{Q,N} $ 専用に設計されたハードウェアアクセラレータにマッピングするための分割統治技術を提案し、複数の多項式次数に対する柔軟なサポートを実現する。
- モジュラ演算および数論的変換(NTT)のためのハードウェアに適したアルゴリズムを備えた、高並列なRNS(残留数系)多項式演算ユニット(RPAU)を設計する。
- FPGA上での配置効率を向上させるとともにネット数を最小限に抑えるために、リング型トポロジを用いて複数のRPAUを接続する。
- キースイッチングなどの操作中にオフチップデータ転送を排除するため、オンチップメモリを活用したメモリ効率の高いアーキテクチャを採用する。
- 加法、乗法、スケーリング、キースイッチングなどの多様な同型演算をサポートするため、マイクロコーディングされた命令セットを実装する。
- Xilinx Alveo U250 FPGAを用いた物理的実装により、200 MHzで動作するプロトタイプを実装し、大規模パラメータセットのパフォーマンスを測定する。
実験結果
リサーチクエスチョン
- RQ11つのハードウェアアクセラレータが、再設計を伴わずに複数の多項式次数を効率的にサポートできるか?
- RQ2RNSベースの多項式演算ユニットにおいて、高い並列性と低い接続オーバーヘッドを実現するためのアーキテクチャ的技術は何か?
- RQ3オンチップメモリ最適化により、大規模パラメータHE方式におけるキースイッチング中にオフチップメモリアクセスを完全に排除できるか?
- RQ4マイクロコーディングされたプログラマブルなアクセラレータは、高度に最適化されたソフトウェア実装を、実世界のHEワークロードにおいてどの程度上回れるか?
- RQ5FPGAプロトタイプのパフォーマンスは、レイテンシおよびスループットの観点から、先行するASICおよびFPGAベースのHEアクセラレータと比較してどうなるか?
主な発見
- Medhaは、RNS-HEAANパラメータセット $ (\text{log } Q, N) = (438, 2^{14}) $ および $ (546, 2^{15}) $ に対して、それぞれ最大68倍および78倍の高速化を達成した。これは、2.3 GHzで動作するMicrosoft SEALと比較した結果である。
- 1つのハードウェア設計により、多項式次数 $ 2^{14} $ および $ 2^{15} $ をサポートでき、これは環マッピングのための新規な分割統治技術のおかげである。
- キースイッチング操作は、メモリ効率の高い設計のおかげで、大規模パラメータであってもオフチップメモリアクセスなしに完全にオンチップで完了する。
- パラメータセット $ (438, 2^{14}) $ に対して、Medhaはブロックパイプライン化されたハードウェアアクセラレータHEAXと比較して、ほぼ2.37倍の低いレイテンシを達成した。
- FPGAプロトタイプは、ハードウェアアクセラレーションが、プログラマビリティや柔軟性を損なわず、高いパフォーマンスを発揮できることを示している。
- 著者らは、MedhaのASIC最適化版ではさらなる5〜10倍のパフォーマンス向上が実現可能であると予想している。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。