We consider the problem of graph analytics on evolving graphs. In this scenario, a query typically needs to be applied to different snapshots of the graph over an extended time window. We propose CommonGraph, an approach for efficient processing of queries on evolving graphs. We first observe that edge deletions are significantly more expensive than addition operations. CommonGraph converts all deletions to additions by finding a common graph that exists across all snapshots. After computing the query on this graph, to reach any snapshot, we simply need to add the missing edges and incrementally update the query results. CommonGraph also allows sharing of common additions among snapshots that require them, and breaks the sequential dependency inherent in the traditional streaming approach where snapshots are processed in sequence, enabling additional opportunities for parallelism. We incorporate the CommonGraph approach by extending the KickStarter streaming framework. CommonGraph achieves 1.38x-8.17x improvement in performance over Kickstarter across multiple benchmarks.
翻译:我们考虑了演化图上的图分析问题。在此场景中,查询通常需要在较长的时间窗口内应用于图的不同快照。我们提出了CommonGraph,一种用于高效处理演化图上查询的方法。首先观察到边删除操作比添加操作昂贵得多。CommonGraph通过寻找所有快照中存在的公共图,将所有删除操作转换为添加操作。在此公共图上计算查询结果后,为到达任意快照,只需添加缺失的边并增量更新查询结果。CommonGraph还允许在需要相同添加操作的快照间共享这些操作,并打破了传统流式处理方法中快照需顺序处理的固有依赖关系,从而创造了额外的并行化机会。我们通过扩展KickStarter流式框架实现了CommonGraph方法。在多个基准测试中,CommonGraph相比Kickstarter实现了1.38倍至8.17倍的性能提升。