Skip to main content
QUICK REVIEW

[논문 리뷰] EAGr: Supporting Continuous Ego-centric Aggregate Queries over Large Dynamic Graphs

Jayanta Mondal, Amol Deshpande|arXiv (Cornell University)|2014. 01. 01.
Data Management and Algorithms참고 문헌 53인용 수 8
한 줄 요약

EAGr는 메모리 기반의 단일 머신 프레임워크를 제안하여, 사전 컴파일된 집계 오버레이 그래프를 사용해 대규모 동적 그래프에서 연속적인 일인칭 집계 쿼리를 효율적으로 처리한다. 이는 공유된 부분 계산과 최적화된 푸시/풀 데이터플로우 결정을 가능하게 한다. 시스템은 최대 320만 개의 노드와 간선을 가진 그래프에서 초당 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-홉, 필터링된 이웃)에 대해 확장 가능한 휴리스틱 기반으로 오버레이 그래프를 구축한다.
  • 주어진 오버레이에 대해 최적의 푸시/풀 결정을 계산하기 위해 최대 유량 기반 알고리즘을 사용하며, 다항식 시간 내에 해를 구할 수 있다.
  • 기본 그래프의 구조적 변화에 대응해 오버레이 그래프를 증분 업데이트하여 재계산을 최소화한다.
  • 합계, 카운트, 최소값, 최대값, 상위-k 등의 함수를 포함한 사용자 정의 집계를 지원하는 윈용 가능한 API를 통해 사용자 정의 집계를 가능하게 한다.
  • 고효율적 메모리 관리를 통해 고처리량을 달성하는 단일 머신 기반의 메모리 내 아키텍처를 사용한다.

실험 결과

연구 질문

  • RQ1어떻게 대규모이고 빠르게 변화하는 동적 그래프에서 저지연으로 연속 일인칭 집계 쿼리를 효율적으로 지원할 수 있는가?
  • RQ2여러 개의 일인칭 쿼리 간 중복 계산을 최소화하기 위해 오버레이 그래프를 어떻게 최적의 구조로 구성할 수 있는가?
  • RQ3주어진 오버레이에 대해 데이터플로우 결정 문제(푸시 대비 풀)를 다항식 시간 내에 모델링하고 해결할 수 있는가?
  • RQ4기본 그래프의 변화에 따라 오버레이 그래프는 어떻게 증분 업데이트할 수 있는가?
  • RQ5부분 집계의 공유와 사전 계산을 통해 실시간 그래프 쿼리 처리에서 처리량을 얼마나 향상시킬 수 있는가?

주요 결과

  • 64GB 메모리의 단일 머신에서 시스템은 업데이트 및 쿼리 처리량이 초당 500,000건을 초과한다.
  • EAGr는 최대 320만 개의 노드와 간선을 가진 그래프로도 성공적으로 확장되며, 실세계 대규모 워크로드에 대한 실현 가능성을 입증한다.
  • 주어진 오버레이에 대해 최적의 데이터플로우 결정 문제는 최대 유량 기반 알고리즘을 통해 다항식 시간 내에 해를 구할 수 있다.
  • 오버레이 구축 휴리스틱은 대규모 그래프에 대해 효과적으로 확장되며, 압축률과 효율성 측면에서 이전의 그래프 압축 기법을 뛰어넘는다.
  • 여러 개의 일인칭 쿼리 간 부분 집계의 공유를 통해 중복 계산을 크게 줄인다.
  • 다양한 집계 함수와 사용자 정의 집계를 지원하는 융통성 있는 API를 통해 프레임워크는 넓은 범위의 응용을 가능하게 한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.