Skip to main content
QUICK REVIEW

[論文レビュー] Asynchronous Complex Analytics in a Distributed Dataflow Architecture

Joseph E. Gonzalez, Peter Bailis|arXiv (Cornell University)|Oct 24, 2015
Graph Theory and Algorithms参考文献 77被引用数 10
ひとこと要約

本稿では、Apache Spark などの一般データフロー・システム内で非同期な複雑な分析(特に確率的勾配降下法(SGD)とADMM)を可能にする、新しいイテレータベースの抽象化である非同期横方向情報伝達(ASIP)を提案する。ASIPイテレータを介した並列オペレータ間の細粒度で共有される状態の通信を可能にすることで、同期版と比較して顕著な高速化を達成しつつ、遅延やデータ競合に対する耐性により統計的正しさを維持する。

ABSTRACT

Scalable distributed dataflow systems have recently experienced widespread adoption, with commodity dataflow engines such as Hadoop and Spark, and even commodity SQL engines routinely supporting increasingly sophisticated analytics tasks (e.g., support vector machines, logistic regression, collaborative filtering). However, these systems' synchronous (often Bulk Synchronous Parallel) dataflow execution model is at odds with an increasingly important trend in the machine learning community: the use of asynchrony via shared, mutable state (i.e., data races) in convex programming tasks, which has---in a single-node context---delivered noteworthy empirical performance gains and inspired new research into asynchronous algorithms. In this work, we attempt to bridge this gap by evaluating the use of lightweight, asynchronous state transfer within a commodity dataflow engine. Specifically, we investigate the use of asynchronous sideways information passing (ASIP) that presents single-stage parallel iterators with a Volcano-like intra-operator iterator that can be used for asynchronous information passing. We port two synchronous convex programming algorithms, stochastic gradient descent and the alternating direction method of multipliers (ADMM), to use ASIPs. We evaluate an implementation of ASIPs within on Apache Spark that exhibits considerable speedups as well as a rich set of performance trade-offs in the use of these asynchronous algorithms.

研究の動機と目的

  • 広く導入されている同期型データフロー・システム(例:Spark)と、非同期機械学習アルゴリズムの性能利点の間のギャップを埋めること。
  • 非同期アルゴリズムを特別なランタイムを必要とせずに、分散型データフロー環境に効率的かつ効果的に実装できるかを調査すること。
  • 細粒度で非同期通信を可能にする軽量で合成可能な抽象化(ASIP)を設計・評価すること。
  • 非同期凸最適化(SGD および ADMM)が、実用的なパフォーマンス向上が得られる商用データフロー・エンジンに効率的に移植可能であることを示すこと。

提案手法

  • 非同期なコンcurrentオペレータインスタンス間の細粒度な通信を可能にするプルベースのイテレータインタフェースを通じた、共有で可変の状態へのアクセスを提供する新しいデータフロー・オペレータ抽象化であるASIPを提案する。
  • ASIPイテレータを設計し、配布とルーティングを抽象化することで、パーティション間での非同期モデル更新を可能にするとともに、Sparkのネイティブ実行エンジンを活用してバルク計算を実行する。
  • SGD および ADMM という2つの古典的な凸最適化アルゴリズムを、同期的なバリア同期の代わりにASIPイテレータを用いて非同期モデル同期に置き換えることで移植する。
  • ASIPイテレータを通じて伝送されるデルタ符号化されたモデル更新を用いることで、通信オーバーヘッドを最小限に抑え、効率的でスケーラブルな収束を実現する。
  • Sparkの既存のフェイルセーフおよびスケジューリングメカニズムを活用し、ASIP固有のチェックポイントおよび回復戦略を拡張する。
  • 凸最適化の統計的耐性を活用し、データ競合や遅延を許容することで、非同期性にもかかわらず収束を保証する。

実験結果

リサーチクエスチョン

  • RQ1Spark などの商用データフロー・システムは、別個の実行フレームワークを必要とせずに、非同期な複雑な分析をネイティブにサポートできるか。
  • RQ2同期版と比較して、分散型データフロー環境における非同期アルゴリズム(SGD および ADMM)のパフォーマンスと正しさのトレードオフは何か。
  • RQ3ASIP抽象化は、フェイルセーフを維持しながら、データフローパイプライン内の並列オペレータ間で効率的で細粒度の通信をどのように実現するか。
  • RQ4凸最適化の統計的耐性は、分散環境における非同期性やデータ競合をどの程度許容できるか。

主な発見

  • 大規模な分散ワークロードにおいて、ASIPを備えたSGDおよびADMMは、同期的なSpark MLlib版と比較して最大2.5倍の高速化を達成する。
  • 凸最適化の本質的な耐性により、遅延勾配やデータ競合を許容できるため、非同期アルゴリズムは統計的正しさと収束保証を維持する。
  • ネットワーク遅延が単一ノード系で得られる利点を相殺するとの仮定とは対照的に、分散環境でも非同期性のパフォーマンス利点が維持される。
  • ASIP抽象化により、モデル更新がデルタ符号化され非同期に伝搬されるため、通信オーバーヘッドを最小限に抑え、効率的なモデル同期が可能になる。
  • オペレータの状態と入力キューのチェックポイントを活用することで、フェイルセーフが実現され、許容可能なオーバーヘッドで決定的リプレイが可能になる。
  • 本設計により、低レベルのシステム拡張や別個の実行バックエンドを必要とせずに、複雑な非同期分析が商用データフロー・エンジン内に実装可能であることが示された。

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

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

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

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