PageRank is a metric that assigns importance to the vertices of a graph based on its neighbors and their scores. Recently, there has been increasing interest in computing PageRank on dynamic graphs, where the graph structure evolves due to edge insertions and deletions. However, traditional barrier-based approaches for updating PageRanks encounter significant wait times on certain graph structures, leading to high overall runtimes. Additionally, the growing trend of multicore architectures with increased core counts has raised concerns about random thread delays and failures. In this study, we propose a lock-free algorithm for updating PageRank scores on dynamic graphs. First, we introduce our Dynamic Frontier (DF) approach, which identifies and processes vertices likely to change PageRanks with minimal overhead. Subsequently, we integrate DF with our lock-free and fault-tolerant PageRank ($DF_{LF}$), incorporating a helping mechanism among threads between its two phases. Experimental results demonstrate that $DF_{LF}$ not only eliminates waiting times at iteration barriers but also withstands random thread delays and crashes. On average, it is 4.6x faster than lock-free Naive-dynamic PageRank ($ND_{LF}$).
翻译:PageRank是一种根据邻接顶点及其分值来评估图中顶点重要性的度量指标。近年来,在动态图上计算PageRank的需求日益增长,这类图的拓扑结构会因边的插入与删除而持续演化。然而,基于同步屏障的传统PageRank更新方法在某些图结构上会产生显著的等待时间,导致整体运行时间居高不下。此外,随着多核架构中核心数量的不断增加,随机线程延迟与故障问题也日益凸显。本研究提出一种用于动态图PageRank分值更新的无锁算法。首先,我们提出动态前沿(DF)方法,该方法能以最小开销识别并处理可能改变PageRank的顶点。随后,我们将DF与具备容错能力的无锁PageRank算法($DF_{LF}$)相结合,在其两个执行阶段之间引入线程间协作机制。实验结果表明,$DF_{LF}$不仅消除了迭代屏障处的等待时间,还能有效抵御随机线程延迟与崩溃故障。该算法平均比无锁朴素动态PageRank算法($ND_{LF}$)快4.6倍。