Skip to main content
QUICK REVIEW

[論文レビュー] Obladi: Oblivious Serializable Transactions in the Cloud

Natacha Crooks, Matthew Burke|arXiv (Cornell University)|Sep 27, 2018
Distributed systems and fault tolerance参考文献 51被引用数 9
ひとこと要約

Obladi は、クラウド上でアクセスパターンを隠すための無人ランダムアクセスメモリ(ORAM)を用いて、ACIDトランザクションを提供する最初のシステムである。トランザクションをエポックにバッチ処理し、コミットをエポック境界まで延期することで、ORAMの帯域幅コストを低減し、安全な並列処理を可能にした。TPC-C、SmallBank、FreeHealthのワークロードにおいて、非プライベートなベースラインと比較して5倍~12倍のスループットを達成したが、70倍の遅延が発生している。

ABSTRACT

This paper presents the design and implementation of Obladi, the first system to provide ACID transactions while also hiding access patterns. Obladi uses as its building block oblivious RAM, but turns the demands of supporting transactions into a performance opportunity. By executing transactions within epochs and delaying commit decisions until an epoch ends, Obladi reduces the amortized bandwidth costs of oblivious storage and increases overall system throughput. These performance gains, combined with new oblivious mechanisms for concurrency control and recovery, allow Obladi to execute OLTP workloads with reasonable throughput: it comes within 5x to 12x of a non-oblivious baseline on the TPC-C, SmallBank, and FreeHealth applications. Latency overheads, however, are higher (70x on TPC-C).

研究の動機と目的

  • クラウドデータベースにおいて、ACIDトランザクションの保証とアクセスパターンのプライバシーを両立するシステムの不足を解消すること。
  • 特に並列処理、耐久性、障害耐性の面で、既存のORAM方式がトランザクションワークロードにおいて抱えるパフォーマンスとセキュリティ上の制限を克服すること。
  • トランザクションのセマンティクスを活用して、プライバシーを弱めることなくORAMの効率を向上させること。
  • UCフレームワークを用いて、クラッシュに強い、プライベートでトランザクショナルなデータベースのための新たなセキュリティモデルを形式化すること。

提案手法

  • Obladi はエポックベースのトランザクション実行を採用し、固定長のエポックの終了までコミット意思決定を延期することで、ORAMコストを均等化する。
  • トランザクションの書き込みを信頼できるプロキシでバッファリングし、最終的なキー値のみをORAMに書き戻すことで、ORAM操作と帯域幅を削減する。
  • エポック境界でリクエスト間の競合する操作を重複除去しパイプライン化することで、Ring ORAM の安全な並列処理を実現する。
  • Ring ORAM におけるニア・デターミニスティックな書き戻しを活用し、障害時に全エポックを中止することで、効率的でプライバシー保護されたクラッシュ回復を実現する。
  • 非ブロッキングの読み取りと隔離性を保証するために、マルチバージョン並列制御を実装する。
  • プライベートでクラッシュ回復可能かつトランザクショナルなデータベースのための、新たなUCセキュアなモデルを形式化する。

実験結果

リサーチクエスチョン

  • RQ1クラウドデータベースにおいて、クラウドプロバイダーからアクセスパターンを隠すと同時に、ACIDトランザクションを安全にサポートできるか?
  • RQ2トランザクションのセマンティクスを活用すれば、ORAM のような無人ストレージシステムのパフォーマンスをどのように向上させられるか?
  • RQ3エポックベースのコミット延期によって、アクセスパターンを漏洩させることなく、ORAM 操作の安全な並列処理が可能か?
  • RQ4プライベートなトランザクショナルシステムにおけるクラッシュ回復に、遅延可視化を用いる場合のパフォーマンスとセキュリティのトレードオフは何か?
  • RQ5トランザクショナルORAMシステムにおいて、障害回復時にも耐久性とプライバシーをどのように維持できるか?

主な発見

  • Obladi は、TPC-C、SmallBank、FreeHealthワークロードにおいて、非プライベートなベースラインと比較して5倍~12倍のスループットを達成した。
  • 非プライベートなベースラインと比較して70倍の遅延が発生しているが、その値は数百ミリ秒の範囲に収まっており、実用的な応答性を示している。
  • エポックベースの設計により、書き込みのバッチ処理と延期によって、均等化されたORAM帯域幅とCPUコストが削減された。
  • エポック境界でリクエスト間の操作を重複除去しパイプライン化することで、Ring ORAM の安全な並列処理が実現された。
  • 障害時に全エポックを中止することで、最小限のログ記録でプライバシーと耐久性を保持するクラッシュ回復が可能になった。
  • Obladi は、プライベートでトランザクショナルかつクラッシュに強いデータベースシステムのための、初めての形式的UCセキュア定義を提供した。

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

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

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

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