[論文レビュー] Pagurus: Eliminating Cold Startup in Serverless Computing with Inter-Action Container Sharing
Pagurus は、パッケージ類似度に基づくコンテナ再パッケージングと相互作用スケジューラーを用いた革新的なコンテナ管理システムにより、貸出可能コンテナ、実行専用コンテナ、借用コンテナの3種類のコンテナタイプを導入することで、サーバess計算のコールドスタートを解消する。この手法により、事前にウォーム化されたコンテナが存在しない状況下でも、コールドスタート遅延を10ms未塔にまで低減するが、CPUおよびメモリのオーバーヘッドは最小限に抑えられる。
Serverless computing provides fine-grain resource sharing between Cloud tenants through containers. Each function invocation (action) runs in an individual container. When there is not an already started container for a user function, a new container has to be created for it. However, the long cold startup time of a container results in the long response latency of the action. Our investigation shows that the containers for some user actions share most of the software packages. If an action that requires a new container can ``borrow'' a similar warm container from other actions, the long cold startup can be eliminated. Based on the above finding, we propose Pagurus, a runtime container management system for eliminating the cold startup in serverless computing. Pagurus is comprised of an inter-action container scheduler and an intra-action container scheduler for each action. The inter-action container scheduler schedules shared containers among actions. The intra-action container scheduler deals with the management of the container lifecycle. Our experimental results show that Pagurus effectively eliminates the time-consuming container cold startup. An action may start to run in 10ms with Pagurus, even if there is not warm container for it.
研究の動機と目的
- サーバess計算における長時間のコールドスタート時間に起因するパフォーマンスボトルネックを解消すること。
- 既存のサーバessシステムにおける、使用率が低く、アイドル状態のコンテナによるリソースの無駄を削減すること。
- 異なるソフトウェア依存関係を持つ異なるユーザーのアクション間で、セキュアかつ効率的なコンテナ共有を可能にすること。
- あらゆるアクションに対して事前にウォーム化されたコンテナを必要とせずに、コールドスタート遅延を最小限に抑えること。
- 動的コンテナ借用を通じて、QoS違反を伴わずにバーストワークロードをサポートすること。
提案手法
- 実行時におけるパッケージ再パッケージングを可能にするコンテナ設計の強化により、アクション間でのコンテナ共有を実現すること。
- 貸出可能(共有可能)、実行専用(排他的)、借用(借用可能)の3種類のコンテナタイプを導入すること。
- アクション間で重複するパッケージインストールを最小限に抑える、類似度に基づくコンテナ再パッケージングポリシーの設計。
- ワークロードとパッケージ類似度に基づいて、アクション間でのコンテナ割り当てを管理する相互作用スケジューラーの実装。
- 各アクションごとに、自身のコンテナおよび借用されたレンターコンテナのライフサイクルを管理するイントラアクションコンテナスケジューラーの導入。
- チェックポイントファイルと暗号化されたコードストレージを用いて、コンテナ借用時の起動を高速化し、セキュリティを確保すること。
実験結果
リサーチクエスチョン
- RQ1相互作用コンテナ共有は、サーバess計算におけるコールドスタート遅延を顕著に低減できるか?
- RQ2異なるソフトウェア依存関係を持つアクション間で、コンテナ共有を安全かつ効率的に実現できるか?
- RQ3パッケージ類似度に基づくコンテナ再パッケージングは、起動パフォーマンスおよびリソース使用にどのような影響を与えるか?
- RQ4動的コンテナ借用を通じて、QoS劣化を伴わずにバーストワークロードをサポートできるか?
- RQ5提案されたコンテナ共有メカニズムのランタイムおよびリソースオーバーヘッドはどの程度か?
主な発見
- Pagurus は、アクションにウォームなコンテナが存在しない状況下でも、コールドスタート遅延を10ms未塔にまで低減する。
- アクションが1〜2つの追加コンテナを借用できる場合、OpenWhiskと比較して最大3倍のバーストワークロードをサポートできる。
- バーストワークロードの対応に伴うメモリ使用量は、OpenWhiskのウォームアップアプローチと比較して最大6.75GB削減される。
- コンテナ再パッケージング時のCPUオーバーヘッドは平均1.61%であり、同期処理を含めた総システムオーバーヘッドは2.4%未塔である。
- ストレージオーバーヘッドは最小限に抑えられる:各コンテナあたり暗号化コードファイルで4.3125KB、チェックポイントファイルで332KB。
- Pagurus は、既存のサーバessプラットフォームに変更を加えずに、効率的で安全かつ低オーバーヘッドのコンテナ共有を実現できる。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。