[論文レビュー] Arabesque: A System for Distributed Graph Mining - Extended version
Arabesqueは、大規模なグラフにおける部分グラフの探索を自動化する高水準なフィルタ-プロセスモデルを導入する分散グラフマイニングシステムである。シンプルなAPIを用いて、頻度の高い部分グラフ、モチーフ、クリークの効率的かつスケーラブルなマイニングを可能にし、コンmodityクラスタ上でトリリオン単位の部分グラフを処理する性能を達成した。
Distributed data processing platforms such as MapReduce and Pregel have substantially simplified the design and deployment of certain classes of distributed graph analytics algorithms. However, these platforms do not represent a good match for distributed graph mining problems, as for example finding frequent subgraphs in a graph. Given an input graph, these problems require exploring a very large number of subgraphs and finding patterns that match some "interestingness" criteria desired by the user. These algorithms are very important for areas such as social net- works, semantic web, and bioinformatics. In this paper, we present Arabesque, the first distributed data processing platform for implementing graph mining algorithms. Arabesque automates the process of exploring a very large number of subgraphs. It defines a high-level filter-process computational model that simplifies the development of scalable graph mining algorithms: Arabesque explores subgraphs and passes them to the application, which must simply compute outputs and decide whether the subgraph should be further extended. We use Arabesque's API to produce distributed solutions to three fundamental graph mining problems: frequent subgraph mining, counting motifs, and finding cliques. Our implementations require a handful of lines of code, scale to trillions of subgraphs, and represent in some cases the first available distributed solutions.
研究の動機と目的
- 指数的増加する部分グラフ列挙を伴う問題に対して、分散グラフマイニングにおけるスケーラビリティの課題に取り組む。
- MapReduce や Pregel のような既存のプラットフォームは、グラフ計算に焦点を当てており、パターン列挙には不適切であるため、それらの制限を克服する。
- 分散システムの深い専門知識が不要な、使いやすく高水準なプログラミング抽象化を提供し、分散グラフマイニングアルゴリズムの開発を簡素化する。
- 頻度の高い部分グラフマイニング、モチーフカウント、クリーク検出といった基本的なグラフマイニング問題の、初めてのスケーラブルかつ分散型の実装を可能にする。
提案手法
- Pregelの『頂点として考える』(TLV)モデルから、部分グラフインスタンス(埋め込み)に焦点を当てる『埋め込みとして考える』(TLE)という画期的なパラダイムを導入する。
- フィルタ-プロセス計算モデルを設計する:システムは自動的に関連するすべての部分グラフ(埋め込み)を探索し、各々をユーザー定義のアプリケーションに渡してフィルタリングおよび処理する。
- ユーザー定義の基準に基づき、各部分グラフを拡張するか破棄するかを指定する、分散的かつスケーラブルなエンジンを用いて、埋め込みを体系的に列挙する。
- ODAG(順序付きDAG)を用いた最適化されたデータ構造により、密グラフおよび疎グラフの両方を効率的に処理し、探索中の圧縮と効率的な走査を実現する。
- MapReduceに類似した実行モデルを用いて、コンmodityクラスタ上に実装し、ユーザーが低レベルの分散ロジックを意識しなくてもよいように抽象化する。
- 最小限で高水準なAPIを提供する。ユーザーはフィルタ(非有望な部分グラフを除外するため)とプロセス(出力を生成するか有効なパターンを数えるため)の2つの関数のみを定義する。
実験結果
リサーチクエスチョン
- RQ1指数的増加する部分グラフ列挙とパターン発見を伴うグラフマイニングワークロードを効率的かつ効果的にサポートするように、分散システムを根本から設計できるか。
- RQ2スケーラブルなグラフマイニングアルゴリズムの開発を簡素化する高水準なプログラミングモデルを抽象化できるか、性能を犠牲にせずに。
- RQ3コンmodityハードウェア上で、トリリオン単位の部分グラフにまでスケーリングできるか。また、低遅延と高スループットを維持できるか。
- RQ4提案されたフィルタ-プロセスモデルが、頻度の高い部分グラフマイニングやモチーフカウントといった古典的なグラフマイニング問題に対して、従来の手法を上回る性能を発揮するか、あるいは初めての分散ソリューションを可能にするか。
主な発見
- 大規模なソーシャルネットワークグラフにおいて、モチーフカウントのワークロードで、8.4兆個の部分グラフ埋め込みを6時間18分で処理し、スケーラビリティを実証した。
- クリーク検出ワークロードでは、300億個の埋め込みをわずか30分で分析し、密グラフにおける高い効率性を示した。
- Instagramグラフ(大規模かつ疎なグラフ)では、ODAGのメモリ制限のため、MS=3(最大サイズ)に制限されたが、それでも数十億個の埋め込みを効果的に処理できた。
- 頻度の高い部分グラフマイニング、モチーフカウント、クリーク検出の、初めての利用可能な分散実装をサポートしており、数億エッジを持つグラフのスケーラブルな分析を可能にした。
- Arabesqueの高水準APIにより、ユーザーは数行のコードで複雑なグラフマイニングアルゴリズムを実装でき、開発の複雑さが顕著に低減された。
- 部分グラフ表現にODAGを使用することで、効率的な圧縮と走査が可能になり、密グラフにおけるパフォーマンスが向上したが、疎グラフではメモリ制限がより大きな探索ステップを制限した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。