Skip to main content
QUICK REVIEW

[論文レビュー] Spinning Fast Iterative Data Flows

Stephan Ewen, Kostas Tzoumas|arXiv (Cornell University)|Aug 1, 2012
Parallel Computing and Optimization Techniques参考文献 22被引用数 4
ひとこと要約

本論文は、並列データフロー・システムへの拡張として、疎な計算依存関係を持つ反復的アルゴリズム(例:グラフアルゴリズム)の効率的実行を可能にするインクリメンタルイテレーションを提案している。これは可変状態とワーキングセットベースの更新を活用することで実現される。評価では、バッチイテレーションと比較して最大2桁の高速化が達成されており、データフロー・システムが専用フレームワークと同等の性能を発揮しつつも、統一された抽象化を維持していることが示された。

ABSTRACT

Parallel dataflow systems are a central part of most analytic pipelines for big data. The iterative nature of many analysis and machine learning algorithms, however, is still a challenge for current systems. While certain types of bulk iterative algorithms are supported by novel dataflow frameworks, these systems cannot exploit computational dependencies present in many algorithms, such as graph algorithms. As a result, these algorithms are inefficiently executed and have led to specialized systems based on other paradigms, such as message passing or shared memory. We propose a method to integrate incremental iterations, a form of workset iterations, with parallel dataflows. After showing how to integrate bulk iterations into a dataflow system and its optimizer, we present an extension to the programming model for incremental iterations. The extension alleviates for the lack of mutable state in dataflows and allows for exploiting the sparse computational dependencies inherent in many iterative algorithms. The evaluation of a prototypical implementation shows that those aspects lead to up to two orders of magnitude speedup in algorithm runtime, when exploited. In our experiments, the improved dataflow system is highly competitive with specialized systems while maintaining a transparent and unified dataflow abstraction.

研究の動機と目的

  • 疎な計算依存関係を有する反復的アルゴリズムの実行において、既存のデータフロー・システムの非効率性を是正すること。
  • グラフ処理や機械学習といった、状態を段階的に変更するアルゴリズムを、データフロー・システムが効率的にサポートできるようにすること。
  • 一般用途のデータフロープログラミングと、Pregel や GraphLab のような専用の反復的システムの性能を統合すること。
  • 可変状態とワーキングセットの意味論をデータフロー抽象化に拡張し、インクリメンタル計算を可能にすること。
  • データフロー・システムが、表現力や透明性を損なわずに、専用システムと同等の性能を発揮できることを実証すること。

提案手法

  • 各イテレーションで変更された部分のみを、変更済み要素のワーキングセットを用いて更新する、インクリメンタルイテレーションをデータフロー・システムに拡張する。
  • 状態の変更とメッセージ送信を分離するプログラミングモデルを導入し、更新に対する細かな制御を可能にする。
  • 各イテレーションで処理が必要な要素のみを追跡するワーキングセットベースのアプローチを採用し、無駄な計算を削減する。
  • データフロー最適化器を用いて演算を押し下げ、イテレーション間でのデータ移動を最小限に抑える。
  • スパースなアルゴリズムに対して収束速度を向上させるために、明確に定義された条件下で非同期マイクロステップ実行を実装する。
  • Stratosphere(並列データフロー・システム)に本アプローチを実装し、インクリメンタルイテレーションを最適化されたデータフロー計画にコンパイルする。

実験結果

リサーチクエスチョン

  • RQ1一般用途のデータフロー・システムにインクリメンタルイテレーションを効率的に統合することで、疎な依存関係を持つ反復的アルゴリズムの性能を向上させることができるか?
  • RQ2データフロー・システムは、グラフや機械学習アルゴリズムに内在する疎な計算依存関係をどの程度活用できるか?
  • RQ3インクリメンタルイテレーションを備えたデータフロー・システムの性能は、Pregel や GraphLab のような専用システムと比べてどうか?
  • RQ4統一されたデータフロー抽象化は、反復的ワークロードの最適化を可能にしつつも、表現力を維持できるか?
  • RQ5データフロー・システムにおいて、非同期マイクロステップ実行を安全かつ効率的に適用できる条件は何か?

主な発見

  • 提案されたインクリメンタルイテレーションモデルは、疎な依存関係を持つアルゴリズムにおいて、バッチイテレーションと比較して最大2桁の高速化を達成した。
  • Stratosphere におけるプロトタイプ実装は、PageRank や連結成分の計算といったグラフアルゴリズムにおいて、Pregel や GraphLab のような専用システムと同等の性能を発揮した。
  • インクリメンタルイテレーションの統合により、Pregel がアクティベーションとメッセージ送信を結合しているのとは異なり、データフロー・システムはアダプティブ・PageRank といった複雑なアルゴリズムをより自然に表現できるようになった。
  • 明確に定義された条件下で、非同期マイクロステップ実行が可能であり、同期のボトルネックを回避しながら収束を高速化できた。
  • 本アプローチは統一されたデータフロー抽象化を維持しており、分析パイプラインにおける複数のシステムやオ케ストレーションフレームワークの必要性を低減した。
  • コンパイラ技術を活用すれば、完全に反復的なアルゴリズムをインクリメンタルなものに変換できる可能性があり、さらなる最適化の余地があることが示唆された。

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

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

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

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