Skip to main content
QUICK REVIEW

[論文レビュー] EAGr: Supporting Continuous Ego-centric Aggregate Queries over Large Dynamic Graphs

Jayanta Mondal, Amol Deshpande|arXiv (Cornell University)|Jan 1, 2014
Data Management and Algorithms参考文献 53被引用数 8
ひとこと要約

EAGr は、共有部分計算と最適化されたプッシュ/プルデータフロー意思決定を可能にする事前にコンパイルされた集計オーバーレイグラフを用いることで、大規模かつ動的変化が激しいグラフ上で継続的なエゴセントリック集計クエリを効率的に処理する、主記憶装置内かつ単一マシンのフレームワークを提案する。本システムは、最大32000万ノードおよびエッジを有するグラフ上で、1秒間に500,000件を超える更新およびクエリのスループットを達成する。

ABSTRACT

In this work, we present EAGr, a system for supporting large numbers of continuous neighborhood-based ("ego-centric") aggregate queries over large, highly dynamic, and rapidly evolving graphs. Examples of such queries include computation of personalized, tailored trends in social networks, anomaly/event detection in financial transaction networks, local search and alerts in spatio-temporal networks, to name a few. Key challenges in supporting such continuous queries include high update rates typically seen in these situations, large numbers of queries that need to be executed simultaneously, and stringent low latency requirements. We propose a flexible, general, and extensible in-memory framework for executing different types of ego-centric aggregate queries over large dynamic graphs with low latencies. Our framework is built around the notion of an aggregation overlay graph, a pre-compiled data structure that encodes the computations to be performed when an update/query is received. The overlay graph enables sharing of partial aggregates across multiple ego-centric queries (corresponding to the nodes in the graph), and also allows partial pre-computation of the aggregates to minimize the query latencies. We present several highly scalable techniques for constructing an overlay graph given an aggregation function, and also design incremental algorithms for handling structural changes to the underlying graph. We also present an optimal, polynomial-time algorithm for making the pre-computation decisions given an overlay graph, and evaluate an approach to incrementally adapt those decisions as the workload changes. Although our approach is naturally parallelizable, we focus on a single-machine deployment and show that our techniques can easily handle graphs of size up to 320 million nodes and edges, and achieve update/query throughputs of over 500K/s using a single, powerful machine.

研究の動機と目的

  • 急速に変化する大規模グラフ上で、多数の継続的エゴセントリック集計クエリを低遅延かつ高スループットで処理する課題に対処すること。
  • 異なるエゴネットワーク間で部分集計を共有することによって、クエリ間の重複計算を低減すること。
  • ユーザー定義集計関数と動的グラフ更新をサポートするスケーラブルで拡張可能なフレームワークを設計すること。
  • 最小遅延と最大スループットを実現するため、データフロー意思決定(プッシュ対プル)を最適化すること。
  • 基盤となるグラフ構造の変化に伴い、オーバーレイグラフに対する効率的なインクリメンタル更新を可能にすること。

提案手法

  • 各クエリの計算パスとデータフロー意思決定(プッシュ/プル)をエンコードする、有向で事前にコンパイルされたデータ構造である集計オーバーレイグラフを構築する。
  • 任意の集計関数と近傍定義(例:1ホップ、2ホップ、フィルタリング済み近傍)に対応する、スケーラブルなヒューリスティクスを用いてオーバーレイグラフを構築する。
  • 与えられたオーバーレイに対して最適なプッシュ/プル意思決定を計算するための最大フローに基づくアルゴリズムを採用し、多項式時間で解ける。
  • 基盤となるグラフの構造的変更に応じてオーバーレイグラフをインクリメンタルに更新し、再計算を最小限に抑える。
  • 柔軟なAPIを介してユーザー定義集計を可能にし、合計、カウント、最小値、最大値、トップ-k などの関数をサポートする。
  • 高いスループットを達成するため、効率的なメモリ管理を備えた単一マシンかつ主記憶装置内アーキテクチャを採用する。

実験結果

リサーチクエスチョン

  • RQ1どのようにして、低遅延で大規模かつ急激に変化するグラフ上で継続的なエゴセントリック集計クエリを効率的にサポートできるか?
  • RQ2複数のエゴセントリッククエリ間で重複計算を最小限に抑えるために、オーバーレイグラフをどのように構造化すべきか?
  • RQ3与えられたオーバーレイに対して、データフロー意思決定問題(プッシュ対プル)を多項式時間でモデル化・解けるか?
  • RQ4基盤となるグラフの変化に伴い、オーバーレイはどのようにインクリメンタルに更新できるか?
  • RQ5部分集計の共有と事前計算によって、リアルタイムグラフクエリ処理におけるスループットはどの程度向上できるか?

主な発見

  • 本システムは、64GBのメモリを搭載した単一マシン上で、1秒間に500,000件を超える更新およびクエリのスループットを達成する。
  • EAGr は最大32000万ノードおよびエッジを有するグラフへスケーリングでき、実世界の大規模ワークロードに実用可能であることを示した。
  • 与えられたオーバーレイに対して最適なデータフロー意思決定問題は、最大フローに基づくアルゴリズムを用いることで多項式時間で解ける。
  • オーバーレイ構築のヒューリスティクスは大規模グラフに対しても効果的にスケーリングされ、圧縮率と効率性の点で先行するグラフ圧縮技術を上回った。
  • 複数のエゴセントリッククエリ間で部分集計を共有することにより、重複計算を顕著に削減した。
  • 柔軟なAPIを介して、幅広い種類の集計関数とユーザー定義集計をサポートする。

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

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

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

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