[論文レビュー] Predicting Scheduling Failures in the Cloud
この論文では、Googleのクラウドクラスタから得た歴史的タスクおよびリソース使用率データを用いた統計的障害予測モデルを提案し、スケジューリング障害を事前に特定することで、障害発生を未然に防ぐ。ランダムフォレストを用いてタスクの成否を予測し、97.4%の精度と96.2%の再現率を達成した。このアプローチにより、早期の再スケジューリングが可能となり、シミュレーションではジョブ障害を最大40%削減し、Amazon EMR上のHadoopで45%のジョブ障害削減が達成された。これに要するオーバーヘッドは5分未塔であった。
Cloud Computing has emerged as a key technology to deliver and manage computing, platform, and software services over the Internet. Task scheduling algorithms play an important role in the efficiency of cloud computing services as they aim to reduce the turnaround time of tasks and improve resource utilization. Several task scheduling algorithms have been proposed in the literature for cloud computing systems, the majority relying on the computational complexity of tasks and the distribution of resources. However, several tasks scheduled following these algorithms still fail because of unforeseen changes in the cloud environments. In this paper, using tasks execution and resource utilization data extracted from the execution traces of real world applications at Google, we explore the possibility of predicting the scheduling outcome of a task using statistical models. If we can successfully predict tasks failures, we may be able to reduce the execution time of jobs by rescheduling failed tasks earlier (i.e., before their actual failing time). Our results show that statistical models can predict task failures with a precision up to 97.4%, and a recall up to 96.2%. We simulate the potential benefits of such predictions using the tool kit GloudSim and found that they can improve the number of finished tasks by up to 40%. We also perform a case study using the Hadoop framework of Amazon Elastic MapReduce (EMR) and the jobs of a gene expression correlations analysis study from breast cancer research. We find that when extending the scheduler of Hadoop with our predictive models, the percentage of failed jobs can be reduced by up to 45%, with an overhead of less than 5 minutes.
研究の動機と目的
- クラウド環境、特にGoogleの本番クラスタにおけるタスクおよびジョブ障害の頻度と特徴を調査すること。
- クラウドログからの歴史的実行およびリソース使用率データを用いて、スケジューリング結果を予測可能かどうかを検証すること。
- 障害予測をタスクスケジューラーに統合することで得られる性能上の利点(実行時間の短縮、ジョブ完了率の向上など)を評価すること。
- Hadoopのような実世界のクラウドフレームワーク(Amazon EMR上)における予測的再スケジューリングの実用的妥当性と影響を示すこと。
提案手法
- Googleの本番トレースデータから、実行時間、スケジューリング時間、リソース使用量、マシンの負荷、スケジューリング制約などのタスクおよびジョブ属性を抽出した。
- ログファイル内のステータスインジケータ(「Failed」、「Evicted」、「Lost」、「Killed」など)を用いて、障害発生タスクおよびジョブを特定した。
- タスクレベルの障害をジョブレベルの結果にマッピングし、依存タスク間での連鎖的障害の影響を分析した。
- 抽出した特徴量を用いて、決定木、ブースティング、GLM、CTree、ランダムフォレスト、ニューラルネットワークといった複数の統計モデルを訓練・評価し、スケジューリング結果を予測した。
- 最も高い性能を示したモデル(ランダムフォレスト)をGloudSimおよびHadoopスケジューラーに統合し、予測された障害の早期再スケジューリングをシミュレートした。
- シミュレーションおよび実環境でのデプロイメントにおいて、完了タスク数、ジョブ完了率、実行時間短縮といった指標を用いて、性能向上を測定した。
実験結果
リサーチクエスチョン
- RQ1クラウド環境では、スケジュールされたタスクやジョブがどれくらいの頻度で失敗、強制終了、失われ、またはキルされるか?
- RQ2クラスターログファイルおよび歴史的実行データを用いて、スケジューリング結果を予測可能か?
- RQ3障害予測と早期再スケジューリングを実施することで、どのような性能上の利点が得られるか?
- RQ4Hadoopのような実世界のスケジューラーに障害予測を統合した場合、ジョブ完了率とシステムのオーバーヘッドにどのような影響があるか?
主な発見
- Googleのデータセットにおいて、42%のジョブと40%のタスクが正常に完了しなかった。障害の多くは、長時間の待機時間および実行時間と関連していた。
- ランダムフォレストモデルは、タスクスケジューリング障害の予測において97.4%の精度と96.2%の再現率を達成し、ニューラルネットワークを含む他のモデルを上回った。
- GloudSimシミュレーションでは、予測に基づく再スケジューリング手法により、完了タスク数が最大40%増加し、実行時間が短縮された。
- Amazon EMR上のHadoopにデプロイした結果、予測スケジューラーはジョブ障害を最大45%削減したが、追加のオーバーヘッドは5分未塔であった。
- 本研究では、予防的障害予測と再スケジューリングが、クラウドシステムの信頼性と効率を顕著に向上させることを示した。
- 結果から、クラウドスケジューラーに障害予測を統合することで、性能コストが著しく増大することなくQoSを向上させられると示唆された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。