Skip to main content
QUICK REVIEW

[論文レビュー] On-demand Cold Start Frequency Reduction with Off-Policy Reinforcement Learning in Serverless Computing

Siddharth Agarwal, Maria A. Rodriguez|arXiv (Cornell University)|Aug 15, 2023
Cloud Computing and Resource Management被引用数 4
ひとこと要約

本稿では、CPU使用率、利用可能なインスタンス数、応答失敗率を用いて動的に関数インスタンスをスケーリングすることで、サーバessコンピューティングにおけるコールドスタートを事前に軽減するQ学習ベースの強化学習エージェントを提案する。Kubelessを用いた行列乗算ワークロード上で評価した結果、デフォルトおよびキープアライブポリシーと比較して、スループットは最大8.81%向上し、リソースの無駄遣いは最大37%削減された。

ABSTRACT

Function-as-a-Service (FaaS) is a cloud computing paradigm offering an event-driven execution model to applications. It features serverless attributes by eliminating resource management responsibilities from developers, and offers transparent and on-demand scalability of applications. To provide seamless on-demand scalability, new function instances are prepared to serve the incoming workload in the absence or unavailability of function instances. However, FaaS platforms are known to suffer from cold starts, where this function provisioning process introduces a non-negligible delay in function response and reduces the end-user experience. Therefore, the presented work focuses on reducing the frequent, on-demand cold starts on the platform by using Reinforcement Learning(RL). The proposed approach uses model-free Q-learning that consider function metrics such as CPU utilization, existing function instances, and response failure rate, to proactively initialize functions, in advance, based on the expected demand. The proposed solution is implemented on Kubeless and evaluated using an open-source function invocation trace applied to a matrix multiplication function. The evaluation results demonstrate a favourable performance of the RL-based agent when compared to Kubeless' default policy and a function keep-alive policy by improving throughput by up to 8.81% and reducing computation load and resource wastage by up to 55% and 37%, respectively, that is a direct outcome of reduced cold starts.

研究の動機と目的

  • 関数としてのサービス(FaaS)プラットフォームにおける頻発するコールドスタートが応答遅延を引き起こし、スループットを低下させることに起因するパフォーマンス劣化を是正すること。
  • Kubernetes HPAなど、反応型のしきい値ベースの自動スケーリング(例:Kubernetes HPA)が需要の急増後にのみコールドスタートを引き起こすという限界を克服すること。
  • ワークロードの需要を予測し、コールドスタートを最小限に抑えるために、事前に関数インスタンスを初期化する能力を持つ、モデルフリーでオフポリシーの強化学習エージェントを開発すること。
  • 事前のスケーリングを通じてリソースの無駄遣いを削減し、リクエストの成功確率を向上させることで、プラットフォームの効率性を向上させること。

提案手法

  • 平均CPU使用率、既存の関数インスタンス数、応答失敗率というメトリクスを用いて環境の状態を観測するQ学習エージェントを設計する。
  • 高い失敗率と過剰なリソース使用をペナルティとし、安定したパフォーマンスと低いコールドスタート頻度を報奨する、カスタム報酬関数を定義する。
  • Kubelessサーバessフレームワーク上で強化学習環境をモデル化し、Apache JMeterを用いて実際の関数呼び出しパターンをシミュレートする。
  • 離散化された状態空間と遅延ロードされた依存関係を用いて、状態空間の複雑さを管理し、状態の爆発を回避する。
  • 500エポックにわたり、環境との試行錯誤による相互作用を用いてエージェントを訓練し、ワークロードパターンの事前知識なしに最適なスケーリング行動を学習する。
  • スループット、リソース使用量、失敗率を主な指標として用い、ベースラインポリシー(デフォルトのKubernetes HPAおよび関数キープアライブポリシー)と比較してエージェントを評価する。
Figure 1 : System Model
Figure 1 : System Model

実験結果

リサーチクエスチョン

  • RQ1Q学習エージェントは、CPU使用率、インスタンス数、失敗率といったリアルタイムメトリクスに基づき、関数インスタンスの事前スケーリングを実行することで、サーバess環境におけるコールドスタート頻度を効果的に低減できるか?
  • RQ2報酬関数は、過剰なリソース割り当てと不足なリソース割り当ての両方を最小限に抑えるのに効果的に機能し、リソースの無駄遣いとコールドスタートの両方を軽減する。
  • RQ3CPU使用率、利用可能なインスタンス数、失敗率の各要因が、エージェントのコールドスタートの予測および防止能力にどの程度影響を与えるか?
  • RQ4再トレーニングなしに、さまざまなワークロードやリクエストパターンに一般化できるか、それとも特定の需要特性に敏感か?

主な発見

  • 強化学習ベースのエージェントは、デフォルトのHPAポリシーおよび関数キープアライブポリシーと比較して、プラットフォームのスループットを最大8.81%向上させた。
  • 不要な関数インスタンスの生成が減少したことにより、コールドスタートが減少し、リソースの無駄遣いが最大37%削減された。
  • 需要の急増前に事前に関数インスタンスをスケーリングすることで、リクエスト失敗率が顕著に低下し、サービスの信頼性が向上した。
  • 報酬関数は、過剰なリソース割り当てと不足なリソース割り当ての両方を最小限に抑えるようにエージェントを効果的に導いた。
  • すべての評価指標において、両方のベースラインを上回る性能を示し、オフポリシーでモデルフリーの強化学習が、事前のコールドスタート緩和に有効であることを実証した。
  • 限定的なトレーニングイテレーション(500エポック)にもかかわらず、得られた知識を活用して、後続のステップで障害を補償する能力を学習したため、学習の堅牢性が示された。
Figure 2 : Function Warm Start & Cold Start workflow
Figure 2 : Function Warm Start & Cold Start workflow

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

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

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

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