## Memo
## Memo with LLM
### 論文情報
- **論文のタイトル**: Providing SLOs for Resource-Harvesting VMs in Cloud Platforms
- **著者と所属**: Pradeep Ambati, Íñigo Goiri, Felipe Frujeri, Sameh Elnikety, Ricardo Bianchini (Microsoft Research); Alper Gun, Ke Wang, Brian Dolan, Brian Corell, Sekhar Pasupuleti, Thomas Moscibroda, Marcus Fontoura (Microsoft Azure)
- **カンファレンス/ジャーナル名**: OSDI (USENIX Symposium on Operating Systems Design and Implementation)
- **発表年**: 2020
### 論文概要
本論文では、クラウドプラットフォームにおける未割り当てリソース(余剰リソース)を有効活用するための新しい仮想マシン(VM)タイプである「Harvest VM」を提案しています。Harvest VMは、利用可能な余剰リソース量に応じて動的にリソース量(CPUコア数など)を伸縮させることで、従来のスポットインスタンスよりも高い生存率と効率性を実現します。さらに、余剰リソースの可用性を予測するモデルを構築し、これに基づいて生存率や平均コア数に関するサービスレベル目標(SLO)を提供することで、ユーザーが低コストかつ安心して利用できる環境を実現しています。
### 詳細解説
#### 問題設定
クラウドプロバイダーは、顧客に割り当てられていない大量の余剰リソースを抱えていますが、これらは時間的・空間的に大きく変動するため、有効活用が困難でした。従来の「スポットインスタンス」は、正規料金のVMが必要なリソースを要求すると即座に強制終了(eviction)されるため、信頼性が低く、長時間のジョブやステートフルなアプリケーションには不向きでした。本研究の目的は、この変動する余剰リソースを、ユーザーにとって使いやすく、かつSLO(サービスレベル目標)を保証できる形で提供することです。
- **入力**: Microsoft Azureのデータセンターにおける未割り当てリソースの時系列データ。
- **出力**: Harvest VMの生存率や利用可能な平均コア数の予測値、およびそれに基づくSLO。
#### 提案手法
本論文では、主に以下の3つの要素からなるシステムを提案しています。
1. **Harvest VM**:
従来のスポットインスタンスとは異なり、余剰リソースが減少しても即座に強制終了されるのではなく、利用可能なリソース量に合わせてVMのサイズ(コア数)を動的に縮小(evict)する仕組みを持ちます。VM自体が完全に強制終了されるのは、プロバイダーがそのVMの最小リソース要件さえも満たせなくなった場合のみです。これにより、VMの生存期間が大幅に延びます。
2. **予測モデル**:
各サーバーにおける未割り当てリソースの将来の可用性を予測する機械学習モデルを開発しました。このモデルは、過去の履歴データを用いて、特定の期間内にHarvest VMが生存する確率や、利用可能な平均コア数を予測します。
3. **スケジューリングフレームワークの拡張**:
Hadoop YARNなどの既存のクラスタスケジューリングフレームワークを拡張し、Harvest VMのリソース変動(コア数の増減)をアプリケーション側が認識し、動的にタスクの並列度を調整できるようにしました。
#### 新規性
- **柔軟なリソース変動**: スポットインスタンスのような「オール・オア・ナッシング」ではなく、リソース量だけを変化させる「Harvest VM」という概念を導入し、実装した点が最大の新規性です。
- **SLOの提供**: 変動する余剰リソースを利用するVMに対して、生存率やリソース量のSLO(例:「1週間以上生存する確率が65%」)を初めて明確に定義し、提供しました。
- **コスト効率と信頼性の両立**: 従来の低優先度VMに比べて、大幅に低いコストで、かつ正規VMに近い計算能力と信頼性を実現できることを示しました。
#### 実験設定
- **データセット**: Microsoft Azureの本番環境から収集された、長期間にわたる未割り当てリソースのトレースデータを使用しました。
- **評価指標**:
- **予測精度**: 短期および長期の資源可用性予測における平均誤差率。
- **生存率**: Harvest VMが強制終了されずに稼働し続ける期間の割合。
- **コスト削減率**: 正規優先度のVMと比較した場合のコスト削減効果。
- **計算能力**: Harvest VMを用いた場合のジョブ完了時間やスループット。
#### 実験結果
- **予測精度**: 短期的な資源予測では平均誤差2%未満、長期的な予測でも6%未満という高い精度を達成しました。
- **SLOの達成**: 提案モデルに基づき、例えば「Harvest VMの65%が1週間以上生存する」といったSLOを高い信頼度で提供可能であることを示しました。実際に、Harvest VMはスポットインスタンスと比較して大幅に長い寿命を持ちます。
- **コスト削減**: Harvest VMと提案フレームワークを使用することで、稀に発生する強制終了を余分に収穫(Harvest)できたコアで補うことができ、結果として正規優先度のVMと同じ計算能力を**91%低いコスト**で達成できることが実証されました。これは、従来の強制終了可能なVMと比較しても47%のコスト削減に相当します。
## Abstract
クラウドプロバイダーは、割り当てられていないリソースを、スポットインスタンスのような退去可能な仮想マシン(VM)として貸し出しています。本論文では、まずMicrosoft Azureにおける未割り当てリソースの特性を明らかにし、それらが豊富にある一方で、時間的およびサーバー間で大きく変動することを示します。この特性に基づき、未割り当てリソースを収穫し収益化するための新しいクラスのVMである「Harvest VM」を提案します。Harvest VMは、基盤となるサーバーの未割り当てリソース量に応じて拡大・縮小するため、スポットインスタンスよりも柔軟かつ効率的です。Harvest VMは、プロバイダーがその最小リソースセットを必要とする場合にのみ退去/強制終了されます。次に、Harvest VMを展開するために未割り当てリソースの可用性を予測するモデルを作成します。これらの予測に基づき、生存率(例:Harvest VMの65%が1週間以上生存する)や収穫可能な平均コア数に関するサービスレベル目標([[SLO]])を提供します。短期予測の平均誤差は2%未満、長期予測では6%未満です。また、収穫されたリソースを活用するために、一般的なクラスタスケジューリングフレームワークを拡張しました。我々のSLOとフレームワークを使用することで、稀な退去を余分に収穫されたコアで相殺し、通常優先度のVMと同じ計算能力を91%低いコストで達成できます。最後に、Harvest VMとそのフレームワークを本番環境で運用した際の教訓と結果について概説します。