[論文レビュー] Pregelix: Big(ger) Graph Analytics on A Dataflow Engine
Pregelix は、Hyracks データフロー エンジンに基づくデータフロー アーキテクチャを用いて、Pregel プログラミング モデルを再考した画期的な分散グラフ処理システムである。Pregel の頂点状態とメッセージを関係的タプルとしてモデル化し、最適化された物理計画を用いた反復的データフローとして Pregel 作業を実行することで、分散 GraphLab より最大 35×、Apache Giraph より最大 15× の高速化を達成した。また、ランタイムの透明な柔軟性により、メモリ内およびオフラインコアの両方のワークロードを効率的にサポートしている。
There is a growing need for distributed graph processing systems that are capable of gracefully scaling to very large graph datasets. Unfortunately, this challenge has not been easily met due to the intense memory pressure imposed by process-centric, message passing designs that many graph processing systems follow. Pregelix is a new open source distributed graph processing system that is based on an iterative dataflow design that is better tuned to handle both in-memory and out-of-core workloads. As such, Pregelix offers improved performance characteristics and scaling properties over current open source systems (e.g., we have seen up to 15x speedup compared to Apache Giraph and up to 35x speedup compared to distributed GraphLab), and makes more effective use of available machine resources to support Big(ger) Graph Analytics.
研究の動機と目的
- プロセス中心のメッセージ伝達型グラフ処理システムが、メモリの圧力や劣悪なオフラインコアサポートに直面するという課題を解決すること。
- ユーザーの干渉なしに、メモリ内およびオフラインコアの両方のワークロードを透明にサポートする単一のシステムを実現すること。
- 異なるグラフワークロードおよびクラスタ構成に適応できる、複数の物理実行戦略を公開することでランタイムの柔軟性を提供すること。
- Hyracks からの成熟したデータベースクエリ実行技術およびオペレータを再利用することで、実装の複雑さを低減すること。
- 共有メモリクラスタ上で効率的にスケーリングし、マルチユーザーのワークロードをサポートできるシステムを構築すること。
提案手法
- Pregel の頂点およびメッセージの意味論を、明確なスキーマを持つ関係的タプルとしてモデル化し、SQL に類似した論理的クエリ計画を可能にする。
- Pregel の計算全体を、ジョインやグループ化を用いてメッセージ伝達をシミュレートする関係的オペレータの反復的データフローとして表現する。
- Hyracks を基盤のデータフロー エンジンとして活用し、ネイティブなオフラインコア処理、バッファ管理、データシャッフルをサポートする。
- パーティショニング方式、ストレージ形式、データ再配布方法などの戦略をランタイムで選択可能な物理実行計画を実装する。
- 帰納的データベースからのセミナイーブ評価技術を活用し、再帰的グラフアルゴリズムを効率的に評価する。
- Giraph と同一の Pregel API を公開することで、後方互換性を保ちつつ、新たな最適化の機会を提供する。
実験結果
リサーチクエスチョン
- RQ1データフロー基盤のアーキテクチャは、Pregel に類似したグラフ処理システムのパフォーマンスおよびスケーラビリティを向上させることができるか?
- RQ2Pregel スタイルのシステムにおいて、パフォーマンスを損なわずに、オフラインコアワークロードを効率的にサポートする方法は何か?
- RQ3既存のデータベースクエリ最適化および実行技術を、反復的グラフ分析に適応できる範囲はどの程度か?
- RQ4統合されたシステムが、メモリ内およびオフラインコア実行を透明に提供し、パフォーマンスチューニングを自動的に行えるか?
- RQ5物理計画の柔軟性が、大規模グラフワークロードにおける実行時間およびリソース利用効率に与える影響はどの程度か?
主な発見
- Pregelix は、大規模グラフワークロードにおいて、Apache Giraph より最大 15×、分散 GraphLab より最大 35× の高速化を達成した。
- システムは、ユーザーのコードを変更せずに、メモリ内およびオフラインコアの両方のワークロードを効率的にサポートしている。
- Pregel をデータフローとしてモデル化することで、Pregelix は複数の物理実行計画を可能にし、異なるワークロードおよびクラスタ特性に応じたランタイムの適応が可能になった。
- Hyracks の使用により、シャッフル、バッファリング、ストレージの最適化オペレータを再利用でき、実装作業の削減と信頼性の向上が達成された。
- Pregelix はマルチユーザーのワークロードをサポートし、高いスループットを維持しており、生産環境への適性が裏付けられた。
- 本システムは実際のユースケースで成功裏に導入されており、2012 年以降安定したオープンソースリリースが提供されている。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。