Skip to main content
QUICK REVIEW

[論文レビュー] How to Optimally Allocate Resources for Coded Distributed Computing?

Qian Yu, Songze Li|arXiv (Cornell University)|Feb 23, 2017
Stochastic Gradient Optimization Techniques参考文献 17被引用数 9
ひとこと要約

本稿では、MapReduceフレームワークにおける符号化分散コンピューティングの最適リソース割り当て戦略を提案し、サーバ数、タスク配置、符号化シャッフル方式を共同最適化することで、合計実行時間を最小化する。Q + ⌈Q/r*⌉台のサーバ(Q 個のソルバーと ⌈Q/r*⌉ 個のヘルパー)を用いることで最小実行時間が達成され、r* は計算負荷と通信負荷をバランスさせるために選択される。

ABSTRACT

Today's data centers have an abundance of computing resources, hosting server clusters consisting of as many as tens or hundreds of thousands of machines. To execute a complex computing task over a data center, it is natural to distribute computations across many nodes to take advantage of parallel processing. However, as we allocate more and more computing resources to a computation task and further distribute the computations, large amounts of (partially) computed data must be moved between consecutive stages of computation tasks among the nodes, hence the communication load can become the bottleneck. In this paper, we study the optimal allocation of computing resources in distributed computing, in order to minimize the total execution time in distributed computing accounting for both the duration of computation and communication phases. In particular, we consider a general MapReduce-type distributed computing framework, in which the computation is decomposed into three stages: \emph{Map}, \emph{Shuffle}, and \emph{Reduce}. We focus on a recently proposed \emph{Coded Distributed Computing} approach for MapReduce and study the optimal allocation of computing resources in this framework. For all values of problem parameters, we characterize the optimal number of servers that should be used for distributed processing, provide the optimal placements of the Map and Reduce tasks, and propose an optimal coded data shuffling scheme, in order to minimize the total execution time. To prove the optimality of the proposed scheme, we first derive a matching information-theoretic converse on the execution time, then we prove that among all possible resource allocation schemes that achieve the minimum execution time, our proposed scheme uses the exactly minimum possible number of servers.

研究の動機と目的

  • 10,000台以上のノードを有する大規模分散コンピューティングシステムにおける通信負荷のボトルネックを解消すること。
  • 符号化分散コンピューティングフレームワークにおけるMap、Shuffle、Reduceフェーズにわたる計算リソースを最適に割り当てることで、合計実行時間を最小化すること。
  • 最小実行時間を達成するための最適なサーバ数、タスク配置戦略、符号化シャッフル方式を特定すること。
  • 理論的下界を確立し、提案された方式が情報理論的最小実行時間を達成することを証明すること。
  • 逐次実行モデルと並列実行モデルを比較し、両者に対して最適リソース割り当てを導出すること。

提案手法

  • 2グループのサーバアーキテクチャを提案:Reduceタスクを処理するQ 個の「ソルバー」ノードと、冗長なMapタスク計算を実行して符号化利得を得るための⌈Q/r*⌉ 個の「ヘルパー」ノード。
  • 中間値をヘルパー・ノードにキャッシュおよび符号化することで通信負荷をr* 倍低減する符号化データシャッフル方式を採用。
  • 実行時間の情報理論的下界を導出し、提案方式の最適性を証明。
  • 計算負荷と通信負荷のバランスを取るパラメータr* を導入し、r* は合計実行時間を最小化するように選択される。
  • 逐次的および並列的実行モデルを分析し、並列モデルでは通信と計算フェーズがバランスするようにすることで、max(T_map, T_shuffle) + T_reduce を最小化することを示した。
  • 組合せ最適化とエントロピーに基づく解析を用いて、データ依存関係をモデル化し、通信負荷の下界を導出。

実験結果

リサーチクエスチョン

  • RQ1符号化分散コンピューティングシステムにおいて、合計実行時間を最小化するために最適なサーバ数は何か?
  • RQ2MapおよびReduceタスクをサーバに最適に配置するにはどうすればよいか?通信および計算のボトルネックを最小化する。
  • RQ3通信負荷を最小化しつつ計算実行可能性を維持する最適な符号化シャッフル方式は何か?
  • RQ4リプリケーション要因r* の選択が、分散MapReduceタスクにおける計算と通信のトレードオフにどのように影響するか?
  • RQ5提案された方式は、逐次的および並列的実行モデルの両方において、情報理論的下限に達することができるか?

主な発見

  • 最適なサーバ数は、Q(出力関数の数)と最適リプリケーション要因r* に基づき、正確に Q + ⌈Q/r*⌉ 台である。
  • 提案された方式は、通信負荷に関するタイトな下界を用いた証明により、情報理論的最小実行時間を達成する。
  • 最適リプリケーション要因r* は、計算と通信のバランスを取るために導出され、逐次モードでは T_map + T_shuffle + T_reduce の和を最小化する。
  • 並列モデルでは、通信フェーズと計算フェーズがバランスするようにすることで、方式が max(T_map, T_shuffle) + T_reduce を最小化する。
  • 符号化シャッフル方式により、通信負荷がr* 倍低減され、符号化されていない方式に比べてデータシャッフルの高速化が顕著に達成される。
  • 分析により、他のいかなるリソース割り当て方式よりも低い実行時間は達成できないことが証明され、本方式の最適性が確立された。

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

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

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

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