Skip to main content
QUICK REVIEW

[論文レビュー] Apiary: A DBMS-Integrated Transactional Function-as-a-Service Framework

Peter Kraft, Qian Li|arXiv (Cornell University)|Aug 27, 2022
Cloud Computing and Resource Management被引用数 4
ひとこと要約

Apiary は、分散データベースエンジン内に関数実行とデータ管理を統合したサーバーヲスフレームワークを提供する。従来の FaaS とは異なり、関数とデータストアの物理的・論理的分離に起因するパフォーマンスおよび一貫性のオーバーヘッドを排除し、DBMS を関数、データ、ログの統合実行環境として利用することで、マイクロサービスワークロードにおいて 2–68倍のパフォーマンス向上を達成した。通信遅延の低減とエンドツーエンドのトランザクション保証を備えた効率的で耐障害性の高い関数合成を可能にした。

ABSTRACT

Developers increasingly use function-as-a-service (FaaS) platforms for data-centric applications that perform low-latency and transactional operations on data, such as for microservices or web serving. Unfortunately, existing FaaS platforms support these applications poorly because they physically and logically separate application logic, executed in cloud functions, from data management, done in interactive transactions accessing remote storage. Physical separation harms performance while logical separation complicates efficiently providing transactional guarantees and fault tolerance. This paper introduces Apiary, a novel DBMS-integrated FaaS platform for deploying and composing fault-tolerant transactional functions. Apiary physically co-locates and logically integrates function execution and data management by wrapping a distributed DBMS engine and using it as a unified runtime for function execution, data management, and operational logging, thus providing similar or stronger transactional guarantees as comparable systems while greatly improving performance and observability. To allow developers to write complex stateful programs, we leverage this integration to enable efficient and fault-tolerant function composition, building a frontend for orchestrating workflows of functions with the guarantees that each workflow runs to completion and each function in a workflow executes exactly once. We evaluate Apiary against research and production FaaS platforms and show it outperforms them by 2--68x on microservice workloads by reducing communication overhead.

研究の動機と目的

  • 関数処理とデータ管理を分離する従来の FaaS プラットフォームが抱えるパフォーマンスおよび一貫性の制限を解消すること。
  • 従来の FaaS における関数とデータストアの物理的・論理的分離が引き起こす通信および調整のオーバーヘッドを排除すること。
  • サーバーレス実行モデル内での強力なトランザクション保証(正確に一度実行、原子的ワークフロー合成など)を提供すること。
  • ステートフル関数の効率的で耐障害性の高い合成を実現しつつ、低遅延かつ高スループットの実行を維持すること。
  • 関数実行、データ管理、運用ログを単一の DBMS ランタイムで統合することで、監視性とシステムの一貫性を向上させること。

提案手法

  • Apiary は、分散 DBMS エンジンをコアランタイムとして統合し、関数の実行、データ管理、操作ログの記録を一貫性のあるシステム内で実行する。
  • DBMS の ACID 特性および内部ログメカニズムを活用し、正確に一度実行されるセマンティクスを備えたネイティブなトランザクション実行をサーバーレス関数に提供する。
  • 関数の合成は、ワークフローのフ론トエンドを介して実装され、関数のシーケンスをオーケストレーションし、各関数が正確に一度だけ実行され、全ワークフローが原子的であることを保証する。
  • システムは、DBMS と同じ物理ノード上に関数実行とデータアクセスを共存させることで、ネットワーク I/O と遅延を最小限に抑える。
  • MVCC およびログインfra を活用することで、外部の調整を必要とせず、障害耐性およびクラッシュ一貫性を提供する。
  • 関数の状態と中間結果を直接 DBMS に永続化することで、外部ストレージへのアクセスを削減し、効率的なステートフルコンピューティングを実現する。

実験結果

リサーチクエスチョン

  • RQ1関数処理とデータストレージを分離する従来の FaaS プラットフォームが抱えるパフォーマンスおよび一貫性のボトル neck を、DBMS ネイティブな実行モデルが解消できるか。
  • RQ2サーバーレス環境において、正確に一度実行や原子的ワークフロー合成といった強力なトランザクション保証を効率的に実装する方法は何か。
  • RQ3統合された DBMS ランタイムによって、通信オーバーヘッドを低減し、ステートフルでトランザクション指向のマイクロサービスにおけるパフォーマンスをどの程度向上できるか。
  • RQ4関数実行、データ管理、ログ記録を単一の DBMS エンジンに統合することで、監視性および障害耐性がどのように向上するか。
  • RQ5分散データベースシステムにおいて、関数実行とデータストレージを共存させることで、どの程度のパフォーマンスおよびスケーラビリティの向上が達成できるか。

主な発見

  • Apiary は、マイクロサービスワークロードにおいて、研究用および生産用の FaaS プラットフォームと比較して 2–68 倍のパフォーマンス向上を達成した。これは、コンponent 間通信を最小限に抑え、メモリ内データアクセスを活用した結果である。
  • 関数実行とデータストレージの共存により、関数とデータベースサービス間のネットワークラウンドトリップを排除し、エンドツーエンドの遅延を低減した。
  • Apiary は、ワークフロー内のすべての関数に対して正確に一度実行されるセマンティクスを保証し、複数の関数呼び出しを含む全ワークフローに対して原子的コミット保証を提供する。
  • DBMS との統合により、ネイティブログおよび MVCC メカニズムを活用した効率的な障害耐性およびクラッシュリカバリが可能になった。
  • DBMS 内での統合ログとトランザクショントレースにより、監視性が著しく向上し、デバッグおよび監視が簡素化された。
  • 最小限のパフォーマンス劣化で複雑なステートフルワークフローをサポートでき、生産環境に近いワークロードにおいて強力なスケーラビリティと一貫性を示した。

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

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

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

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