A bipartite graph extensively models relationships between real-world entities of two different types, such as user-product data in e-commerce. Such graph data are inherently becoming more and more streaming, entailing continuous insertions and deletions of edges. A butterfly (i.e., 2x2 bi-clique) is the smallest non-trivial cohesive structure that plays a crucial role. Counting such butterfly patterns in streaming bipartite graphs is a core problem in applications such as dense subgraph discovery and anomaly detection. Yet, existing approximate solutions consider insert-only streams and, thus, achieve very low accuracy in fully dynamic bipartite graph streams that involve both insertions and deletions of edges. Adapting them to consider deletions is not trivial either, because different sampling schemes and new accuracy analyses are required. In this paper, we propose Abacus, a novel approximate algorithm that counts butterflies in the presence of both insertions and deletions by utilizing sampling. We prove that Abacus always delivers unbiased estimates of low variance. Furthermore, we extend Abacus and devise a parallel mini-batch variant, namely, Parabacus, which counts butterflies in parallel. Parabacus counts butterflies in a load-balanced manner using versioned samples, which results in significant speedup and is thus ideal for critical applications in the streaming environment. We evaluate Abacus/Parabacus using a diverse set of real bipartite graphs and assess its performance in terms of accuracy, throughput, and speedup. The results indicate that our proposal is the first capable of efficiently providing accurate butterfly counts in the most generic setting, i.e., a fully dynamic graph streaming environment that entails both insertions and deletions. It does so without sacrificing throughput and even improving it with the parallel version.
翻译:摘要:二部图广泛建模了现实世界中两种不同类型实体间的关系,例如电子商务中的用户-产品数据。此类图数据本质上正变得越来越流式化,包含边的持续插入和删除。蝴蝶(即2x2双团)作为最小非平凡团结构,发挥着关键作用。在流式二部图中计数此类蝴蝶模式是稠密子图发现和异常检测等应用的核心问题。然而,现有近似解仅考虑仅插入流,因此在涉及边插入和删除的全动态二部图流中精度极低。将其适配以考虑删除也并非易事,因为这需要不同的采样方案和新的精度分析。本文提出Abacus,一种利用采样同时处理插入和删除的新型近似算法。我们证明Abacus始终提供低方差的无偏估计。进一步地,我们扩展Abacus并设计其并行小批量变体Parabacus,以实现并行蝴蝶计数。Parabacus使用版本化样本以负载均衡方式计数蝴蝶,从而显著加速,因此非常适合流式环境中的关键应用。我们使用多种真实二部图评估Abacus/Parabacus,并从精度、吞吐量和加速比角度分析其性能。结果表明,我们的方法首次能够在最通用场景(即涉及边插入和删除的全动态图流环境)中高效提供准确的蝴蝶计数,且不牺牲吞吐量,并行版本甚至提升了性能。