Web规模图的无索引单源实时SimRank处理
Realtime Index-Free Single Source SimRank Processing on Web-Scale Graphs
摘要:
给定图G和G中的节点u,单源SimRank查询评估u与G中的每个节点v之间的相似性。单源SimRank计算的现有方法要么导致长的查询响应时间,要么导致昂贵的预计算,每当图G改变时,都需要再次执行预计算。因此,据我们所知,它们中没有一个是理想的场景,其中(i)查询处理必须实时完成,(ii)底层图G是巨大的,具有频繁的更新。出于这一动机,我们提出了SimPush,一种新的算法,回答单源SimRank查询没有任何预先计算,并在同一时间实现显着更高的查询处理速度甚至比最快的已知的基于索引的解决方案。此外,SimPush提供严格的结果质量保证,其高性能不依赖于底层图的任何强假设。具体而言,与现有方法相比,SimPush采用了完全不同的算法设计,其重点在于(i)识别与查询相关的少量节点,随后(ii)仅从这些节点计算统计数据并执行剩余推送。我们证明了SimPush的正确性,分析了它的时间复杂度,并与现有方法的渐近性能进行了比较。同时,我们通过在8个真实数据集上的大量实验来评估SimPush的实际性能。结果表明,SimPush始终优于所有现有的解决方案,通常超过一个数量级。特别是,在一台商用机器上,SimPush在62毫秒内回答了包含超过1.33亿个节点和54亿条边的Web图上的单源SimRank查询,经验误差为0.00035,而最快的基于索引的竞争对手需要1.18秒。
英文摘要:
Given a graph G and a node u in G, a single source SimRank query evaluates the similarity between u and every node v in G. Existing approaches to single source SimRank computation incur either long query response time, or expensive pre-computation, which needs to be performed again whenever the graph G changes. Consequently, to our knowledge none of them is ideal for scenarios in which (i) query processing must be done in realtime, and (ii) the underlying graph G is massive, with frequent updates. Motivated by this, we propose SimPush, a novel algorithm that answers single source SimRank queries without any pre-computation, and at the same time achieves significantly higher query processing speed than even the fastest known index-based solutions. Further, SimPush provides rigorous result quality guarantees, and its high performance does not rely on any strong assumption of the underlying graph. Specifically, compared to existing methods, SimPush employs a radically different algorithmic design that focuses on (i) identifying a small number of nodes relevant to the query, and subsequently (ii) computing statistics and performing residue push from these nodes only. We prove the correctness of SimPush, analyze its time complexity, and compare its asymptotic performance with that of existing methods. Meanwhile, we evaluate the practical performance of SimPush through extensive experiments on 8 real datasets. The results demonstrate that SimPush consistently outperforms all existing solutions, often by over an order of magnitude. In particular, on a commodity machine, SimPush answers a single source SimRank query on a web graph containing over 133 million nodes and 5.4 billion edges in under 62 milliseconds, with 0.00035 empirical error, while the fastest index-based competitor needs 1.18 seconds.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。