Skip to main content
QUICK REVIEW

[論文レビュー] Do the Hard Stuff First: Scheduling Dependent Computations in Data-Analytics Clusters

Robert Grandl, Srikanth Kandula|arXiv (Cornell University)|Apr 25, 2016
Cloud Computing and Resource Management参考文献 46被引用数 4
ひとこと要約

DagPS は、データ分析クラスタ向けの新しいスケジューラであり、長時間実行されるか、パッケージングが難しいタスク(たとえば、長時間実行されるタスクや、資源要件が複雑なタスク)を、多次元のリソース時間空間において早期に優先してスケジューリングすることにより、ジョブ完了時間とクラスタの利用効率を向上させる。探索ベースのアプローチにより最適な問題を引き起こしやすいタスクを選択し、デッドロックを回避する配置アルゴリズムを採用することで、生産環境のトレースにおいて半数のジョブで30%以上のジョブ完了時間短縮を達成し、最先端のスケジューラーを上回る性能を発揮しながら、ユーザーが設定可能な範囲内で公平性を保証する。

ABSTRACT

We present a scheduler that improves cluster utilization and job completion times by packing tasks having multi-resource requirements and inter-dependencies. While the problem is algorithmically very hard, we achieve near-optimality on the job DAGs that appear in production clusters at a large enterprise and in benchmarks such as TPC-DS. A key insight is that carefully handling the long-running tasks and those with tough-to-pack resource needs will produce good-enough schedules. However, which subset of tasks to treat carefully is not clear (and intractable to discover). Hence, we offer a search procedure that evaluates various possibilities and outputs a preferred schedule order over tasks. An online component enforces the schedule orders desired by the various jobs running on the cluster. In addition, it packs tasks, overbooks the fungible resources and guarantees bounded unfairness for a variety of desirable fairness schemes. Relative to the state-of-the art schedulers, we speed up 50% of the jobs by over 30% each.

研究の動機と目的

  • 従来のスケジューラーがリソース断片化や複雑なDAG構造のため性能を発揮できない、複雑でマルチリソースかつ依存関係を持つワークロードをスケジューリングする課題に対処すること。
  • ジョブDAGのリソース要件、実行時間、依存関係の複雑さに大きなばらつきが生じる生産環境において、ジョブ完了時間とクラスタ利用効率を向上させること。
  • 並列ジョブ、動的なジョブ到着、複数の目的(パッケージング効率、遅延低減など)を伴う環境において、スケーラブルかつオンラインで動作し、公平性と低不平等性を維持するスケジューラーを設計すること。
  • 一般のDAGスケジューリング問題がNP困難であるにもかかわらず、実世界のDAGに対してほぼ最適なスケジューリングを実現する実用的な解決策を開発すること。

提案手法

  • DagPS は2段階のアーキテクチャを採用している:各DAGに対して、長時間実行されるか、資源要件が難しいタスク(「問題を引き起こしやすいタスク」とも呼ばれる)を、d+1次元のリソース時間空間において最初に配置することで最適なスケジュールを構築するバッチスケジューラ。
  • 複数のタスク順序付けヒューリスティクス(例:OPC、OCP、COP、POC)を評価する高性能な探索手順を採用し、その中から最もコンactな配置を選び、劣悪なスケジュールを回避する。
  • データ依存関係を尊重し、リソース利用効率を最大化するように、残りのタスク(親、子、その他のタスク)の配置順序を注意深く制御することで、デッドロックを回避する配置アルゴリズムを採用する。
  • 公平性(例:DRF)とパッケージング効率といった対立する目的を調整するため、オンライン協調コンponentが、大多数の目的に従いながら、不平等性をユーザーが設定可能なしきい値内に制限する。
  • リソース適合度、局所性、SRPTに類似した緊急度を組み合わせたパフォーマンススコアを用いて、各マシン上のタスク選択をガイドする。公平性カウンターやオーバークロッキングペナルティを導入し、負荷バランスを保ち、スターバーションを防止する。
  • システムは Apache YARN および Tez に実装されており、効率的なデータ構造(例:時間およびリソースインデックス付きハッシュマップ)を用いて、リソース時間空間における領域選択を高速化している。

実験結果

リサーチクエスチョン

  • RQ1複数リソースかつ時間認識の空間において、スケジューリングが難しいタスクを優先することで、実世界のデータ分析DAGに対してほぼ最適な性能を達成できるか?
  • RQ2スケーラブルかつオンラインで動作するスケジューラーは、タスク間依存関係、マルチリソース要件、公平性制約を伴う複雑なDAGを、高いスケジューリングオーバーヘッドを伴わずに処理できるか?
  • RQ3特に長時間実行またはパッケージングが困難なタスクを早期に配置するスケジューリング戦略が、生産環境ワークロードにおけるジョブ完了時間とクラスタ利用効率に与える影響は何か?
  • RQ4オフライン最適化とオンライン協調を組み合わせたハイブリッドスケジューリングアプローチは、実世界のクラスタトレースにおいて、既存のオンラインヒューリスティクスをどれほど上回るか?

主な発見

  • 200サーバーのクラスタを用いた評価で、大手企業の生産環境クラスタからのトレースを用い、DagPS は半数のジョブでジョブ完了時間を30%以上短縮した。
  • 一般のDAGスケジューリング問題がNP困難であるにもかかわらず、DagPS は実世界のDAGにおいてほぼ最適な性能を達成しており、中央値のジョブ深さが7で、1,000個以上のタスクを含むDAGに対しても有効である。
  • 問題を引き起こしやすいタスクを最初に配置することで、DagPS はリソース断片化を効果的に低減し、残りのタスクがリソース時間空間内の空き領域にうまくパッケージングできるようにしている。
  • 調整ヒューリスティクスにより、不平等性がユーザーが設定可能な境界内に制限される一方で、パッケージングや遅延低減といった複数の目的が競合する場合に、厳密な公平性から逸脱することを許容する。
  • スケーリング効果が顕著である:生産環境のDAGの24%が4つ以上の順序付きパーティションに分割可能であり、スケジューリングの複雑さが低減される。さらに、段階レベルの推論によりスケジューリング対象タスク数がさらに削減される。
  • 生産トレースから抽出した20,000個のDAGに対する実証的評価により、DagPS はジョブ完了時間およびリソース利用効率の両面で、最先端のスケジューラーを顕著に上回ることが確認された。

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

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

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

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