paint-brush
Efficient PageRank Updates on Dynamic Graphs and Existing Approachesโ€‚by@pagerank

Efficient PageRank Updates on Dynamic Graphs and Existing Approaches

by PageRankJanuary 22nd, 2025
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

This section covers the PageRank algorithm's iterative computation, its challenges like dead ends, and updates on dynamic graphs through batch processing. Existing methods like Naive-dynamic recompute PageRank entirely, while Dynamic Traversal selectively processes affected vertices. Dynamic graph frameworks such as Aspen minimize snapshot costs, enabling efficient PageRank updates in evolving networks.
featured image - Efficient PageRank Updates on Dynamic Graphs and Existing Approaches
PageRank HackerNoon profile picture
0-item

Author:

(1) Subhajit Sahu, IIIT Hyderabad, Hyderabad, Telangana, India ([email protected]).

Abstract and 1 Introduction

2 Related Work

3 Preliminaries

4 Approach

5.1 Experimental Setup

5.2 Performance of Dynamic Frontier PageRank

5.3 Strong Scaling of Dynamic Frontier PageRan

6 Conclusion, Acknowledgments, and References

3 PRELIMINARIES

3.1 PageRank Algorithm

The PageRank, ๐‘…[๐‘ฃ], of a vertex ๐‘ฃ โˆˆ ๐‘‰ in the graph ๐บ(๐‘‰ , ๐ธ), represents its importance and is based on the number of incoming links and their significance. Equation 1 shows how to calculate the PageRank of a vertex ๐‘ฃ in the graph ๐บ, with ๐‘‰ as the set of vertices (๐‘› = |๐‘‰ |), ๐ธ as the set of edges (๐‘š = |๐ธ|), ๐บ.๐‘–๐‘›(๐‘ฃ) as the incoming neighbors of vertex ๐‘ฃ, ๐บ.๐‘œ๐‘ข๐‘ก(๐‘ฃ) as the outgoing neighbors of vertex ๐‘ฃ, and ๐›ผ as the damping factor. Each vertex starts with an initial PageRank of 1/๐‘›. The power-iteration method updates these values iteratively until the change is rank values is within a specified tolerance ๐œ value (indicating that convergence has been achieved).


Presence of dead ends is an issue that arises when computing the PageRank of a graph. A dead end is a vertex with no out-link, which forces the random surfer to jump to a random page on the web. Or equivalently, a dead end contributes its rank among all the vertices in the graph (including itself). This introduces a global teleport rank contribution that must be computed every iteration, and can be considered an overhead. We resolve this issue by adding self-loops to all the vertices in the graph [1, 15].


3.2 Dynamic Graphs


Interleaving of graph update and computation: Changes to the graph arrive in a batched manner, with updating of the graph and execution of the desired algorithm being interleaved (i.e., there is only one writer upon the graph at a given point of time). In case it is desirable to update the graph while an algorithm is still running, a snapshot of the graph needs to be obtained, upon which the desired algorithm may be executed. See for example Aspen graph processing framework which significantly minimizes the cost of obtaining a read-only snapshot of the graph [8].

3.3 Existing approaches for updating PageRank on Dynamic Graphs

3.3.1 Naive-dynamic approach. This is a straightforward approach of updating ranks of vertices in dynamic networks. Here, one initializes the ranks of vertices with ranks obtained from previous snapshot of the graph and runs the PageRank algorithm on all vertices. Rankings obtained through this method will be at least as accurate as those obtained through the static algorithm.



This paper is available on arxiv under CC BY-NC-SA 4.0 DEED license.