Upload
peryaudo
View
44
Download
0
Embed Size (px)
Citation preview
Quincy: Fair Scheduling for Distributed Computing Clusters
(SOSP’09) を読む@peryaudo
第4回 システム系論文輪読会 #system_reading
概要• クラスタ上でのジョブのスケジューリング
• Fine-grainedなジョブを対象
• データ局所性と公平性の両立
• 最小費用流(Minimum Cost Flow)問題に帰着
• Microsoft Research Silicon Valley
Fine-grained vs. coarse-grained• Quincyの対象: Fine-grained allocation
• 例: MapReduce, Hadoop, Dryad, …
• 開始時に全てのワーカーを立ち上げなくてよい
• ワーカーが異常終了しても問題はない
• Coarse-grained allocation
• 例: MPI
• 開始時に全てのワーカーが立ち上がっている必要がある
• 何れかのノードが異常終了すると全体が異常終了する(原則)
データ局所性• データ並列性の高いタスクを実行したい
• MapReduce, Hadoop, Dryad, …
• クラスタ上の分散FSに対象データが保管されている
• GFS, HDFS, TidyFS, …
• ネットワーク帯域は相対的に貴重→なるべく該当データを持っているノード上で ジョブを実行したい
公平性• あるジョブがクラスタ全体を占拠しては困る
• データ局所性と公平性はトレードオフ
• 複数キューを用いた貪欲法を拡張してもよいが…
• ヒューリスティクスに基づかない方法は?
• 優先度ベースの既存ジョブの停止を実装するには? (プリエンプション)
最小費用流問題• フローネットワーク
• 有向グラフを考える
• 複数の始点と単一の終点S(Sink)が与えられる (Quincyの場合)
• 各辺には最大流量cと単位流量あたりのコストdが定義
• 始点から終点まで流量fを流した時の最小コストは?
最小費用流問題の解法• いくつもの解法が存在
• 残余グラフを用いた単純なアルゴリズム
• f回Bellman-Ford法を適用: O(f|E||V|) (fは流量の総和)
• 論文で用いられているアルゴリズム
• O(O(VElog(VP)log(V^2/E))(Pは辺コストの最小値,どちらも最悪時間計算量)
まとめ• データ局所性と公平性を両立
• 辺コストとして様々な条件を組み込める
• ラック間の具体的通信コスト
• 中断のコスト
• 優先度の高いジョブ etc.
• スケジューリングに要するコストが予測可能
参考文献• Isard, M., Prabhakaran, V., Currey, J., Wieder, U., Talwar, K., & Goldberg, A. (2009, October). Quincy: fair scheduling for distributed computing clusters. In Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles (pp. 261-276). ACM.
• Schwarzkopf, M., Konwinski, A., Abd-El-Malek, M., & Wilkes, J. (2013, April). Omega: flexible, scalable schedulers for large compute clusters. In Proceedings of the 8th ACM European Conference on Computer Systems (pp. 351-364). ACM.
• 秋葉拓哉, 岩田陽一, & 北川宜稔. (2010). プログラミングコンテストチャレンジブック.