FUSED-PAGERANK: Loop-Fusion based Approximate PageRank
Authors:
Shalini Jain,
Rahul Utkoor,
Hemalatha Eedi,
Sathya Peri,
Ramakrishna Upadrasta
Abstract:
PageRank is a graph centrality metric that gives the importance of each node in a given graph. The PageRank algorithm provides important insights to understand the behavior of nodes through the connections they form with other nodes. It is an iterative algorithm that ranks the nodes in each iteration until all the node values converge. The PageRank algorithm is implemented using sparse storage for…
▽ More
PageRank is a graph centrality metric that gives the importance of each node in a given graph. The PageRank algorithm provides important insights to understand the behavior of nodes through the connections they form with other nodes. It is an iterative algorithm that ranks the nodes in each iteration until all the node values converge. The PageRank algorithm is implemented using sparse storage format, which results in irregular memory accesses in the code. This key feature inhibits optimizations to improve its performance, and makes optimizing the PageRank algorithm a non-trivial problem. In this work we improve the performance of PageRank algorithm by reducing its irregular memory accesses. In this paper, we propose FUSED-PAGERANK algorithm, a compiler optimization oriented approximate technique that reduces the number of irregular memory accesses in the PageRank algorithm, improving its locality while making the convergence of the algorithm faster with better accuracy in results. In particular, we propose an approximate PageRank algorithm using Loop-Fusion. We believe that ours is the first work that formally applies traditional compiler optimization techniques for irregular memory access in the PageRank algorithm. We have verified our method by performing experiments on a variety of datasets: LAW graphs, SNAP datasets and synthesized datasets. On these benchmarks, we have achieved a maximum speedup (vs. -O3 optimization) of 2.05X, 2.23X, 1.74X with sequential version, and ~4.4X, ~2.61X, ~4.22X with parallel version of FUSED-PAGERANK algorithm in comparison with Edge-centric version of PageRank algorithm.
△ Less
Submitted 17 March, 2022;
originally announced March 2022.
An Improved and Optimized Practical Non-Blocking PageRank Algorithm for Massive Graphs
Authors:
Hemalatha Eedi,
Sahith Karra,
Sathya Peri,
Neha Ranabothu,
Rahul Utkoor
Abstract:
PageRank is a well-known algorithm whose robustness helps set a standard benchmark when processing graphs and analytical problems. The PageRank algorithm serves as a standard for many graph analytics and a foundation for extracting graph features and predicting user ratings in recommendation systems. The PageRank algorithm iterates continuously, updating the ranks of the pages till convergence is…
▽ More
PageRank is a well-known algorithm whose robustness helps set a standard benchmark when processing graphs and analytical problems. The PageRank algorithm serves as a standard for many graph analytics and a foundation for extracting graph features and predicting user ratings in recommendation systems. The PageRank algorithm iterates continuously, updating the ranks of the pages till convergence is achieved. Nevertheless, the implementation of the PageRank algorithm on large-scale graphs that on shared memory architecture utilizing fine-grained parallelism is a difficult task at hand. The experimental study and analysis of the Parallel PageRank kernel on large graphs and shared memory architectures using different programming models have been studied extensively. This paper presents the asynchronous execution of the PageRank algorithm to leverage the computations on massive graphs, especially on shared memory architectures. We evaluate the performance of our proposed non-blocking algorithms for PageRank computation on real-world and synthetic datasets using Posix Multithreaded Library on a 56 core Intel(R) Xeon processor. We observed that our asynchronous implementations achieve 10x to 30x speedup with respect to sequential runs and 5x to 10x improvements over synchronous variants.
△ Less
Submitted 26 September, 2021; v1 submitted 20 September, 2021;
originally announced September 2021.