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 提出了一种基于内存的单机框架,通过使用预编译的聚合叠加图,实现对大规模动态图上连续自指聚合查询的高效处理,该叠加图支持共享部分计算和优化的推送/拉取数据流决策。该系统在节点和边最多达3.2亿个的图上,实现了每秒超过50万次的操作吞吐量(更新与查询)。

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.

研究动机与目标

  • 解决在快速演化的大型图上,对大量连续自指聚合查询进行低延迟、高吞吐量处理的挑战。
  • 通过在不同自指网络间共享部分聚合结果,减少查询间的冗余计算。
  • 设计一个可扩展、可扩展的框架,支持用户自定义聚合函数和动态图更新。
  • 针对最小延迟和最大吞吐量,优化数据流决策(推送 vs. 拉取)。
  • 实现对叠加图的高效增量更新,以适应底层图结构的演化。

提出的方法

  • 构建一个聚合叠加图——一种有向的、预编译的数据结构——用于编码每个查询的计算路径和数据流决策(推送/拉取)。
  • 使用可扩展的启发式方法,为任意聚合函数和邻域定义(例如,1跳、2跳、过滤后的邻域)构建叠加图。
  • 采用基于最大流的算法,为给定叠加图计算最优推送/拉取决策,该问题可在多项式时间内求解。
  • 在底层图结构发生变化时,支持对叠加图的增量更新,最大限度减少重新计算。
  • 通过灵活的API支持用户自定义聚合,支持求和、计数、最小值、最大值和Top-k等函数。
  • 采用单机内存架构并辅以高效的内存管理机制,实现高吞吐量。

实验结果

研究问题

  • RQ1如何在大规模、高度动态的图上,以低延迟高效支持连续自指聚合查询?
  • RQ2如何最优地构建叠加图,以最小化多个自指查询之间的冗余计算?
  • RQ3对于给定的叠加图,能否在多项式时间内建模并求解数据流决策问题(推送 vs. 拉取)?
  • RQ4当底层图演化时,如何对叠加图进行增量更新?
  • RQ5在实时图查询处理中,部分聚合结果的共享与预计算能在多大程度上提升吞吐量?

主要发现

  • 该系统在配备64GB内存的单台机器上,实现了每秒超过50万次操作的更新与查询吞吐量。
  • EAGr 成功扩展至包含最多3.2亿个节点和边的图,证明了其在真实世界大规模工作负载中的可行性。
  • 对于给定叠加图,最优数据流决策问题可通过基于最大流的算法在多项式时间内求解。
  • 叠加图构建启发式方法在大规模图上表现出良好的可扩展性,并在压缩率和效率方面优于以往的图压缩技术。
  • 通过在多个自指查询之间共享部分聚合结果,该框架显著减少了冗余计算。
  • 系统通过灵活的API支持广泛的聚合函数和用户自定义聚合,具备良好的扩展性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。