[論文レビュー] Characterizing Commodity Serverless Computing Platforms
本論文は、TBSと呼ばれるオープンソースツールを用いた定量的ベンチマークと公式ドキュメントの定性的分析を通じて、AWS Lambda、Google Cloud Functions、Azure Functions、Alibaba Cloud Function Computeの4つの主要なコンmodityサーバesslessプラットフォームを包括的に特徴づけている。その結果、起動遅延、リソース効率、並行処理の取り扱いにおける顕著な差異が明らかになり、開発者やベンダーに対する実用的で有用な知見が得られた。
Serverless computing has become a new trending paradigm in cloud computing, allowing developers to focus on the development of core application logic and rapidly construct the prototype via the composition of independent functions. With the development and prosperity of serverless computing, major cloud vendors have successively rolled out their commodity serverless computing platforms. However, the characteristics of these platforms have not been systematically studied. Measuring these characteristics can help developers to select the most adequate serverless computing platform and develop their serverless-based applications in the right way. To fill this knowledge gap, we present a comprehensive study on characterizing mainstream commodity serverless computing platforms, including AWS Lambda, Google Cloud Functions, Azure Functions, and Alibaba Cloud Function Compute. Specifically, we conduct both qualitative analysis and quantitative analysis. In qualitative analysis, we compare these platforms from three aspects (i.e., development, deployment, and runtime) based on their official documentation to construct a taxonomy of characteristics. In quantitative analysis, we analyze the runtime performance of these platforms from multiple dimensions with well-designed benchmarks. First, we analyze three key factors that can influence the startup latency of serverless-based applications. Second, we compare the resource efficiency of different platforms with 16 representative benchmarks. Finally, we measure their performance difference when dealing with different concurrent requests, and explore the potential causes in a black-box fashion. Based on the results of both qualitative and quantitative analysis, we derive a series of findings and provide insightful implications for both developers and cloud vendors.
研究の動機と目的
- コンmodityサーバesslessプラットフォームに関する体系的な理解の不足が、最適なアプリケーション開発やプラットフォーム選定を妨げているという問題に対処すること。
- 開発、デプロイ、実行時フェーズにおけるサーバesslessプラットフォームの主要な静的特性を特定・分類すること。
- 主なプラットフォームの実際の実行時パフォーマンスを実証的に評価し、起動遅延、リソース効率、並行処理の取り扱いに焦点を当てる。
- 開発者に対するプラットフォーム選定と設定チューニングのための実用的知見、およびクラウドベンダーオンのアーキテクチャ的改善のための知見を提供すること。
提案手法
- 開発、デプロイ、実行時という3つの次元にわたり、4つのプラットフォームの公式ドキュメントを比較する定性的分析を実施し、20の特性を含む分類法を構築した。
- 実行時パフォーマンスをブラックボックス方式で評価するためのオープンソースベンチマークツールTBSを設計・実装した。
- 起動遅延に影響する要因を特定するために、異なるプログラミング言語、メモリ割り当て、パッケージサイズを用いて遅延を測定した。
- 実行時間とリソース消費量を比較するために、16の代表的マイクロベンチマークおよびマクロベンチマークを用いてリソース効率を評価した。
- さまざまなリクエスト負荷下での並行処理パフォーマンスをブラックボックス観察により評価し、スケーラビリティおよびロードバランシングの挙動を分析した。
- 精度と実用的妥当性の両立を図るため、マイクロベンチマークと本物に近いマクロベンチマークを組み合わせた評価手法を採用した。
実験結果
リサーチクエスチョン
- RQ1主要なコンmodityサーバesslessプラットフォームの開発、デプロイ、実行時特性にはどのような相違があり、開発者が考慮すべき主要な制約は何か?
- RQ2AWS Lambda、Google Cloud Functions、Azure Functions、Alibaba Cloud Function Computeにおいて、プログラミング言語、メモリサイズ、パッケージサイズが起動遅延に及ぼす影響の程度はどの程度か?
- RQ3代表的なワークロードを実行する際、各プラットフォームのリソース効率はどのように比較されるか?
- RQ4並行リクエストワークロード下で各プラットフォームはどのようにスケーリングするのか?スケジューリングおよびパフォーマンス挙動に影響を与える要因は何か?
主な発見
- 起動遅延はプラットフォーム間で顕著に異なるが、特にパッケージサイズの影響が大きく、一部のプラットフォームではパッケージサイズの増加に伴い遅延が最大300%まで上昇する。
- 全テスト対象プログラミング言語において、Google Cloud Functionsが平均的な起動遅延が最も低く、次いでAWS Lambdaが続く。一方、Azure FunctionsおよびAlibaba Cloud Function Computeはベースラインの遅延がやや高い。
- ワークロードの種別によってリソース効率は変動する。計算集約型ベンチマークにおいては、AWS LambdaおよびGoogle Cloud Functionsがメモリ割り当て単位あたりのパフォーマンスが優れている。
- 高並列負荷下では、Azure Functionsが最も積極的なスケーリング行動を示すが、スケジューリング遅延も高くなる。一方、AWS Lambdaは低いばらつきで一貫したパフォーマンスを維持している。
- マクロベンチマークにおいて、Alibaba Cloud Function Computeは1回の呼び出しあたりのリソース消費量が最も高く、実行環境の初期化に潜在的な非効率性が見られる。
- プログラミング言語の選択は起動遅延に測定可能な影響を与える。コールドスタート状況では、Node.jsおよびPythonがJavaや.NETに比べて一般的に優れたパフォーマンスを示す。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。