Skip to main content
QUICK REVIEW

[論文レビュー] Fifer: Tackling Underutilization in the Serverless Era

Jashwant Raj Gunasekaran, Prashanth Thinakaran|arXiv (Cornell University)|Aug 28, 2020
Cloud Computing and Resource Management参考文献 71被引用数 6
ひとこと要約

Fifer は、スレッドに応じたリソース管理フレームワークであり、スレッドに配慮したスケジューリングとLSTMベースの負荷予測を用いて、リクエストを知的にバッチ処理することで、コンテナの利用効率とクラスタのエネルギー効率を向上させる。最大80%のコンテナ数削減を実現しながらも、1000ms未満のSLOを維持し、4倍の高い利用効率と、最先端のスケジューラーよりも31%低いエネルギー消費量を達成する。

ABSTRACT

Datacenters are witnessing a rapid surge in the adoption of serverless functions for microservices-based applications. A vast majority of these microservices typically span less than a second, have strict SLO requirements, and are chained together as per the requirements of an application. The aforementioned characteristics introduce a new set of challenges, especially in terms of container provisioning and management, as the state-of-the-art resource management frameworks, employed in serverless platforms, tend to look at microservice-based applications similar to conventional monolithic applications. Hence, these frameworks suffer from microservice-agnostic scheduling and colossal container over-provisioning, especially during workload fluctuations, thereby resulting in poor resource utilization. In this work, we quantify the above shortcomings using a variety of workloads on a multi-node cluster managed by Kubernetes and Brigade serverless framework. To address them, we propose \emph{Fifer} -- an adaptive resource management framework to efficiently manage function-chains on serverless platforms. The key idea is to make \emph{Fifer} (i) utilization conscious by efficiently bin packing jobs to fewer containers using function-aware container scaling and intelligent request batching, and (ii) at the same time, SLO-compliant by proactively spawning containers to avoid cold-starts, thus minimizing the overall response latency. Combining these benefits, \emph{Fifer} improves container utilization and cluster-wide energy consumption by 4x and 31%, respectively, without compromising on SLO's, when compared to the state-of-the-art schedulers employed by serverless platforms.

研究の動機と目的

  • マイクロサービスに依存しないスケジューリングとコンテナの過剰なプロビジョニングが原因で生じるサーバーヲスプラットフォームにおけるリソースの未利用と非効率を解消すること。
  • ミリ秒スケールで低遅延が求められる関数チェーンをホスティングするデータセンタでのコンテナの過剰配置とエネルギー消費量の削減を目的とする。
  • コールドスタートを最小限に抑えながら、関数の各段階におけるリソース割り当てを最適化し、厳密なSLO(≤1000ms)を満たすこと。
  • 段階間のスレッドを活用し、予測的負荷モデリングを用いることで、効率的かつ適応的なコンテナプロビジョニングを可能とすること。
  • ワークロード予測に基づくプロアクティブなコンテナプリウォームをリクエスト実行から分離し、コールドスタートの緩和を実現すること。

提案手法

  • Fifer は、関数チェーン内の各段階における未使用時間予算(スレッド)を特定する革新的なスレッド推定技術を採用し、知的なリクエストバッチ処理を可能にする。
  • 履歴リクエストトレースを学習データとして用いたLSTMベースの負荷予測モデルを用い、将来のワークロードを予測し、プロアクティブにコンテナをスケーリングする。
  • 段階に応じたコンテナプロビジョニングを実装し、予測された負荷と利用可能なスレッドに基づいて、各関数段階のコンテナ数を動的に調整する。
  • Fifer はリクエストバッチ処理とプロアクティブなコンテナ生成を組み合わせることで、コールドスタート遅延を最小限に抑えながら、コンテナ総数を削減する。
  • バッチ処理が利用可能なスレッドを超えないようにし、ピーク負荷の前にコンテナをプリウォームすることで、SLOの遵守を維持する。
  • Kubernetes および Brigade サーバーヲスフレームワークと統合し、マルチノードクラスタ上で実世界の評価を可能にする。

実験結果

リサーチクエスチョン

  • RQ1エンドツーエンドのSLOを厳守しつつ、コンテナの過剰プロビジョニングを最小限に抑えるには、どのようにサーバーレス関数チェーンをスケジューリングすべきか?
  • RQ2段階間のスレッドは、サーバーレスワークロードにおける効率的なリクエストバッチ処理とコンテナ利用効率にどのような影響を与えるか?
  • RQ3予測的負荷モデリングは、短時間で高スルーレートの関数チェーンにおけるコンテナプロビジョニング意思決定を改善し、コールドスタートのオーバーヘッドを低減できるか?
  • RQ4段階に応じたリソース管理は、サーバーレス環境におけるエネルギー消費量の削減とクラスタ効率の向上にどの程度寄与できるか?
  • RQ5Fifer のアプローチは、最先端のスケジューラと比較して、コンテナ利用効率、SLO遵守、エネルギー効率の観点でどの程度優れているか?

主な発見

  • Fifer は、サーバーレスプラットフォームにおける最先端のスケジューラーよりも、平均して生成されるコンテナ数を最大80%まで削減した。
  • 80コアのクラスタおよび大規模シミュレーションにおいて、Fifer は評価されたワークロード全体でコンテナ利用効率を4倍に向上させた。
  • Fifer は、SLO違反を一切発生させることなく、クラスタ全体のエネルギー消費量を31%削減した。
  • スレッドに配慮したバッチ処理とプロアクティブなコンテナプリウォームを活用することで、Fifer はエンドツーエンド遅延を1000msのSLO要件内に維持した。
  • LSTMベースの負荷予測器により、正確な予測が可能となり、Fifer は負荷の急増を事前に予測してコンテナをスケーリングできるが、遅延オーバーヘッドは最小限に抑えられた。
  • Fifer は、さまざまなワークロード、特に機械学習推論およびコンテンツ推薦パイプラインにおいて、異なるリクエスト到着パターン下でも、堅牢な性能を示した。

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

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

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

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