paint-brush
Dynamic Frontier PageRank Efficiently Updates Ranks on Dynamic Graphsby@pagerank
New Story

Dynamic Frontier PageRank Efficiently Updates Ranks on Dynamic Graphs

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

Too Long; Didn't Read

The Dynamic Frontier approach efficiently updates PageRank on evolving graphs by incrementally marking and processing affected vertices. It avoids unnecessary computations by leveraging tolerance thresholds for rank changes. The asynchronous implementation achieves faster convergence for batch updates, while tuning frontier tolerance balances runtime and error. This method ensures scalable, accurate rank computation on dynamic graph structures.
featured image - Dynamic Frontier PageRank Efficiently Updates Ranks on Dynamic Graphs
PageRank HackerNoon profile picture
0-item

Author:

(1) Subhajit Sahu, IIIT Hyderabad, Hyderabad, Telangana, India (subhajit.sahu@research.iiit.ac.in).

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

4. APPROACH

4.1 Our Dynamic Frontier approach


4.1.2 A simple example. Figure 1 shows an example of the Dynamic Frontier approach. The initial graph, shown in Figure 1(a), comprises 16 vertices and 25 edges. Subsequently, Figure 1(b) shows a batch update applied to the original graph involving the deletion of an edge from vertex 2 to 1 and the insertion of an edge from vertex 4 to 12. Following the batch update, we perform the initial step of the Dynamic Frontier approach, marking outgoing neighbors of 2 and 4 as affected, i.e., 1, 3, 4, 8, and 12 are marked as affected (indicated with a yellow fill). Note that vertex 2 is not affected as it is a source of the change while vertex 4 being a neighbour of 2 is marked as affected. Now, we are ready to execute the first iteration of PageRank algorithm.


Figure 1: Illustration of the Dynamic Frontier approach through a specific example. The initial graph consists of 16 vertices and 25 edges. The graph is then updated with an edge insertion (4, 12), and an edge deletion (2, 1). Accordingly, the outgoing neighbors of vertices 4 (3 and 12) and 2 (1, 4, and 8) are marked as affected (shown with yellow fill). When the ranks of these affected vertices are computed in the first iteration, it is found that change in rank of vertices 1 and 12 exceeds the frontier tolerance 𝜏𝑓 (shown with red border). Thus, outgoing neighbors of vertices 1 (3 and 5) and 12 (11 and 14) are also marked as affected. In the second iteration, the change in rank of vertices 3, 5, 11, and 14 is greater than 𝜏𝑓 — thus their outgoing vertices are marked as affected. In the subsequent iteration, the ranks of affected vertices are again updated. If the change in rank of every vertex is within iteration tolerance 𝜏, the ranks of vertices have converged, and the algorithm terminates.


During the first iteration (see Figure 1(c)), the ranks of affected vertices are updated. It is observed that the rank changes of vertices 1 and 12 surpass the frontier tolerance 𝜏𝑓 (highlighted with a red border). In response to this, we incrementally mark the outgoing neighbors of 1 and 12 as affected, i.e., vertices 3, 5, 11, and 14.


During the second iteration (see Figure 1(d)), the ranks of affected vertices are again updated. Here, its is observed that the change in rank of vertices 3, 5, 11, and 14 is greater than frontier tolerance 𝜏𝑓 . Thus, we mark the outgoing neighbors of 3, 5, 11, and 14 as affected, namely vertices 4, 6, and 15. In the subsequent iteration, the ranks of affected vertices are again updated. If the change in rank of each vertex is within iteration tolerance 𝜏, the ranks of vertices have converged, and the algorithm terminates.

4.2 Synchronous vs Asynchronous implementation

In a synchronous implementation, separate input and output rank vectors are used, ensuring deterministic results for parallel algorithms through vector swapping at the end of each iteration. In contrast, an asynchronous implementation utilizes a single rank vector, potentially achieving faster convergence and eliminating memory copies for unaffected vertices in dynamic approaches.


4.3 Determination of Frontier tolerance (𝜏𝑓)

4.4 Our Dynamic Frontier PageRank implementation

Algorithm 1 shows our implementation of Dynamic Frontier PageRank, which is designed to compute the PageRank of vertices in a graph while efficiently handling dynamic changes in the graph structure over time. The algorithm takes as input the previous and current versions of the graph, edge deletions and insertions in the batch update, and the previous rank vector.





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