Skip to main content
QUICK REVIEW

[論文レビュー] Two stage cluster for resource optimization with Apache Mesos

Gourav Rattihalli, Pankaj Saha|arXiv (Cornell University)|May 22, 2019
Cloud Computing and Resource Management参考文献 10被引用数 5
ひとこと要約

本論文では、まず小規模な「リトル」クラスタでジョブのプロファイルをとり、実際のリソース要件を推定した後、大規模な「ビッグ」クラスタで実行する、Apache Mesos および Aurora を用いた二段階クラスタアーキテクチャを提案する。短時間の実行による統計的プロファイリングにより、CPU とメモリ使用量をそれぞれ 94% および 90% の精度で予測することで、デフォルトの Mesos/Aurora スケジューリングと比較して CPU 利用率を 53%、メモリ利用率を 22% 向上させ、処理効率を著しく向上させるとともに、無駄なリソースを削減した。

ABSTRACT

As resource estimation for jobs is difficult, users often overestimate their requirements. Both commercial clouds and academic campus clusters suffer from low resource utilization and long wait times as the resource estimates for jobs, provided by users, is inaccurate. We present an approach to statistically estimate the actual resource requirement of a job in a Little cluster before the run in a Big cluster. The initial estimation on the little cluster gives us a view of how much actual resources a job requires. This initial estimate allows us to accurately allocate resources for the pending jobs in the queue and thereby improve throughput and resource utilization. In our experiments, we determined resource utilization estimates with an average accuracy of 90% for memory and 94% for CPU, while we make better utilization of memory by an average of 22% and CPU by 53%, compared to the default job submission methods on Apache Aurora and Apache Mesos.

研究の動機と目的

  • Mesos や Aurora クラスタにおけるリソース利用率の低さとジョブの待機時間が長くなる原因となる、ユーザーが提供するリソース見積もりの不正確さを是正すること。
  • クラウドおよび HPC 環境における CPU やメモリの過剰予約を低減することで、コストの増加とリソースの未利用を防ぐこと。
  • 事前のデータやタスクのグループ化が不要な、動的で軽量なプロファイリングシステムを設計し、ジョブのリソース要件を推定すること。
  • 二段階クラスタモデルを用いて、CPU およびメモリ利用率、スループット、スケジューリング効率の向上を定量的に評価すること。
  • 最大の効率を得るために、プロファイリング用(リトル)クラスタと本番用(ビッグ)クラスタの最適なサイズ比を特定すること。

提案手法

  • 小規模な「リトル」クラスタを初期プロファイリング用、大規模な「ビッグ」クラスタを本番実行用に使用する二段階クラスタアーキテクチャを実装する。
  • 各ジョブはまず数秒間、リトルクラスタで実行され、Docker API を介してリアルタイムの CPU およびメモリ使用量メトリクスを収集する。
  • 短時間実行時のリソース消費量を統計的に分析し、本番ジョブ実行における実際のリソース要件を推定する。
  • 推定されたリソース値を用いて、Apache Aurora を介してジョブをビッグクラスタに送信し、より正確なリソース割り当てを実現する。
  • 排他アクセス(Exclusive Access)と共同スケジューリング(Co-Scheduled)の二つのスケジューリング戦略を評価し、性能とオーバーヘッドを比較する。
  • リアルタイムのプロファイリングに基づいてリソース割り当てを動的に調整することで、過剰予約を回避し、クラスタスケジューリング効率を向上させる。

実験結果

リサーチクエスチョン

  • RQ1リソース利用率とスループットを最大化するための、プロファイリング用(リトル)クラスタと本番用(ビッグ)クラスタの最適なサイズ比は何か?
  • RQ2小規模クラスタでの短時間実行が、大規模ジョブの実際の CPU およびメモリ要件をどの程度正確に予測できるか?
  • RQ3二段階モデルにおける排他アクセスと共同スケジューリングの間で、性能とオーバーヘッドのトレードオフはどのようなものか?
  • RQ4このプロファイリングベースのアプローチは、デフォルトの Mesos/Aurora スケジューリングと比較して、CPU およびメモリ利用率をどの程度向上させられるか?
  • RQ5実際のクラスタ環境において、二段階アプローチは全体のシステムスループットとジョブの待機時間にどのような影響を与えるか?

主な発見

  • 短時間のプロファイリング実行に基づき、CPU リソース要件の予測精度が 94%、メモリ使用量の予測精度が 90% に達した。
  • デフォルトの Mesos/Aurora スケジューリングと比較して、共同スケジューリング(Co-Scheduled)アプローチにより、10 ノードのビッグクラスタで CPU 利用率が 53% 向上し、メモリ利用率が 22% 向上した。
  • 6 ノードのビッグクラスタを用いた場合、排他アクセス(Exclusive Access)アプローチはデフォルトの Mesos/Aurora と比較してスループットが 81% 高くなった。
  • 最適なクラスタサイズ比は、排他アクセスアプローチで 1:6 から 1:8、共同スケジューリングアプローチで 1:10 であった。
  • 共同スケジューリングアプローチは、特にクラスタサイズが拡大するにつれて、スケジューリングのオーバーヘッドを低減し、スループットの向上を排他アクセスアプローチよりも顕著に実現した。
  • この手法により、クラウドおよび HPC クラスタにおける非効率の主な要因であるリソースの過剰予約が顕著に削減された。

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

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

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

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