SlideShare a Scribd company logo
Cost Efficient PageRank Computation using GPU
Praveen K.∗
, Vamshi Krishna K.†
, Anil Sri Harsha B.‡
, S. Balasubramanian, P.K. Baruah
Sri Satya Sai Institute of Higher Learning, Prasanthi Nilayam, India
{praveen.kkp, k.vamshi.krish, anilharsha.b}@gmail.com,
{sbalasubramanian, pkbaruah}@sssihl.edu.in
Abstract—The PageRank algorithm for determining the
“importance” of Web pages forms the core component of
Google’s search technology. As the Web graph is very large,
containing over a billion nodes, PageRank is generally
computed offline, during the preprocessing of the Web
crawl, before any queries have been issued. Viewed math-
ematically, PageRank is nothing but the principal Eigen
vector of a sparse matrix which can be computed using any
of the standard iterative methods. In this particular work,
we attempt to parallelize the famous iterative method, the
Power method and its variant obtained through Aitken
extrapolation for computing PageRank using CUDA. From
our findings, we conclude that our parallel implementation
of the PageRank algorithm is highly cost effective not only
in terms of the time taken for convergence, but also in
terms of the number of iterations for higher values of the
damping factor.
Index Terms—PageRank, Principal Eigenvector, Eigen-
value, Extrapolation, Markov Matrix, CUDA, CUBLAS,
CUSPARSE.
I. INTRODUCTION
The evolution of GPU technology has outperformed
the traditional Parallel Programing paradigms, introduc-
ing a new phase in the field of scientific computing. GPU
based solutions have outperformed the corresponding
sequential implementations by leaps and bounds. Par-
ticularly, for scientific computing applications, they pro-
vide a very valuable resource to parallelize and achieve
optimum performance.
Determining a page’s relevance to query terms is a
complex problem for a search engine and this decides
how good a search engine is. Google solves this complex
problem through its PageRank [1][2] algorithm which
quantitatively rates the importance of each page on the
web, allowing it to rank the pages and thereby present to
the user, the more important (and typically most relevant
and helpful) pages first.
∗
Student Author
†
Student Author
‡
Student Author
As the Web graph is very large, containing over a
billion nodes, PageRank is generally computed offline,
during the preprocessing of the Web crawl, before any
queries have been issued [3]. In this particular work,
we parallelized a customized serial implementation of
power method and a variant of it obtained through Aitken
extrapolation [4] for computing PageRank.
The core component in the power method for com-
puting PageRank is the Sparse Matrix-Vector product
(SpMV) and certain vector-vector operations. The paral-
lel implementation was done using the CUDA program-
ing model, developed by NVIDIA. In this parallel imple-
mentation, we exploited the power of CUBLAS [5] and
CUSPARSE [6] routines for the same. From our results,
it is evident that the parallel implementation outperforms
the serial equivalent in terms of both the factors viz.
convergence time and number of iterations for specific
values of the damping factor (α). We validated our work
on publicly available datasets [7] [8], which are matrices
that represent web graphs of sizes varying from 884 x
884 to 281903 x 281903.
The remainder of this paper is organized as follows.
Section II reviews the related work done in this area.
Section III, gives an overview about the power method
and it’s extrapolation variant for computing PageRank.
Section IV discusses the methodology used to parallelize
the serial implementation. The experimental results ob-
tained are discussed in Section V. Finally we point to
some conclusions and future work that can be undertaken
in Section VI.
II. RELATED WORK
Standard works in literature for computing PageRank
in parallel focused on exploiting the power of large
cluster based computation. In general, the main focus
of any parallel implementaion of the PageRank algo-
rithm was on reducing the communication overhead and
efficient problem partitioning. Zhu et al. [9] used an
iterative aggregation and disaggregation method to effec-
tively speedup the PageRank computation in a distributed
environment. Gleich et al. [10] modeled the compu-
tation of PageRank as a linear system and evaluated
the performance of a parallel implementation on a 70-
node Beowulf cluster. A parallel implementation of the
standard power method for computing PageRank was
done by Wu et al. [11] on AMD GPUs using OpenCL
programing model. This work essentially concentrates on
parallelizing the sparse matrix vector product (SpMV)
using the AMD GPUs. Another work in this regard by
Cevahir et al. [12] focused on extending a CPU cluster
based parallel implementation on to a GPU cluster, using
upto 100 GPU nodes.
Our work is an attempt on measuring performance
gains in computational costs for calculating PageRank
using power method and it’s extrapolation variant on a
single NVIDIA GPU using the standard CUBLAS and
CUSPARSE libraries. To the best of our knowledge, no
work has been done on parallelizing PageRank compu-
tation using a single GPU.
III. POWER METHOD FOR COMPUTING PAGERANK
Finding Eigenvector for a given matrix is a numerical
linear algebra problem that can be solved using several
available methods in the literature. But, Power method is
often the method of choice due to it’s ability to calculate
the dominant Eigen pair. This method is an apt choice
for the PageRank problem because, we are interested
only in the principal Eigenvector of the given matrix.
Procedurally, this method is an iterative method that finds
the vector ¯
xk+1 from ¯
xk as ¯
xk+1 = A ¯
xk until ¯
xk+1
converges to desired tolerance.
When Power method converges, the vector ¯
xk+1 is
the Eigenvector for the given matrix corresponding to
the dominant Eigenvalue (which, in this case is 1).
The power method for computing PageRank can be
elucidated as follows. Here, δ is the 1-Norm difference
Data: Matrix A, Initial vector ¯
x0
Result: ¯
xk+1, the Eigenvector of Matrix A
repeat
¯
xk+1 = A ¯
xk;
δ = || ¯
xk+1 − ¯
xk||1;
until δ < ;
Algorithm 1: Power method for computing PageRank
between the vectors in the kth iteration and the k + 1th
iteration and  is the desired convergence threshold. Note
that A = α ¯
PT + (1 − α)E. Where, E is an stochastic
matrix introduced to model the complete behaviour of
a random surfer on the web. This reformulation is a
consequence of the fact that the sparse matrix P alone
do not capture the complete behavior of a random surfer.
This introduces a new parameter α, also known as
“Damping Factor”, whose value ranges between 0 and 1.
It is an empirically proven fact that the damping factor
α signifies the sub-dominant Eigenvalue of the Google
matrix [13]. Observe that P is a sparse matrix and the
sparsity is lost by taking the Convex Combination.
A. An Efficient Power method type Algorithm for the
PageRank problem
We are dealing with matrices that represent the hy-
perlink structure of the web that are very huge in size.
Considering A as such and applying the Power method
will lead to memory overflow. This can be overcome by
replacing the matrix vector product Ax̄ as illustrated in
the following Algorithm.
Data: Matrix P, Initial vector ¯
x0, Damping
factor α, Personalization Vector v̄
Result: ¯
xk+1, the Eigenvector of Matrix P
repeat
¯
xk+1 = αPT ¯
xk;
w = || ¯
xk||1 − || ¯
xk+1||1;
¯
xk+1 = ¯
xk+1 + wv̄;
δ = || ¯
xk+1 − ¯
xk||1;
until δ  ;
Algorithm 2: Modified Power method for computing
PageRank
Where v̄ is the Personalization vector which is 1
nē (ē
is a column vector of all ones). The irreducibility of A
implies that the dominant Eigenvalue is 1.
B. Extrapolation Techniques for accelerating Conver-
gence of Power Method
Due to the sheer size of the web (over 50 billion
links) PageRank computation by power method can take
several days to complete. Speeding up this computation
is highly critical.
Though, power method is an apt choice for the PageR-
ank problem, the convergence of the method is a matter
of concern when α goes closer to 1. Hence, there is a
need to lookout for variants of the power method that
can accelerate the computation of the desired Principal
Eigenvector of the given Matrix.
1) Aitken Extrapolation Technique: The Aitken Ex-
trapolation technique [4] for computing PageRank is
an extension of the basic power method in which the
component values of the intermediary vectors in the
??
why?
rank
power iterations are periodically pruned so that the
resultant vectors obtained are refined in the direction of
the desired vector. The algorithm can be elucidated as
follows.
Data: Matix A, Initial vector ¯
x0
Result: ¯
xk+1, the Eigenvector of Matrix A
repeat
¯
xk+1 = A ¯
xk;
δ = || ¯
xk+1 − ¯
xk||1;
periodically xk = Aitken(x̄k−2,x̄k−1 , x̄k);
until δ  ;
Algorithm 3: Aitken Power method for computing
PageRank
function x̄ = Aitken(x̄k−2,x̄k−1 , x̄k);
for i ← 1 to n do
¯
gi = (xk−1
i - xk−2
i )2;
h̄i = xk
i - 2xk−1
i + xk−2
i ;
xi = xk
i - gi/hi;
end
Algorithm 4: The Aitken Routine
2) Operation Count: In order for an extrapolation
method such as Aitken Extrapolation to be useful, the
overhead should be minimal i.e. the costs in addition
to the cost of applying power iteration to generate
iterates. The operation count of the loop in Algorithm
4 is O(n), where n is the number of pages on the
web. The operation count of one extrapolation step is
less than the operation count of a single iteration of
the Power Method, and since Aitken Extrapolation may
be applied only periodically, Aitken Extrapolation has
minimal overhead. In the implementation, the additional
cost of each application of Aitken Extrapolation is about
1% of the cost of a single iteration of the Power Method
which is negligible.
IV. SCOPE FOR PARALLELIZATION
The power method for computing PageRank is highly
parallelizable since most of the computation involves
Sparse Matrix-Vector product (SpMV) and vector-vector
operations. Since the matrix under consideration has
a sparse structure, we used the CUSPARSE library
provided by NVIDIA to store the matrix and perform
the corresponding operations. The sparse matrix is con-
structed by reading an adjacency list, which represents
the nonzero values in the matrix.
The list of operations involved in power method
for computing PageRank and their equivalent CUS-
PARSE/CUBLAS library calls used in our implemen-
tation can be summarized as follows.
• ȳ = αPTx̄ → cusparseDcsrmv(), to perform the
sparse matrix PT and dense vector x̄ product
• ||x̄||1 and ||ȳ||1 → cublasDasum(), to calculate the
1-Norm of the vectors (Here, both the vectors x̄ and
ȳ are dense)
• ȳ = ȳ + wv̄ → cublasDaxpy(), to update the vector
ȳ, a simple axpy operation
• δ = ||ȳ −x̄||1 → Wrote a simple kernel in the GPU
to calculate δ
A. Experimental Setup
For the experiment, our parallelized version of the
power method was run on Tesla T20 based “Fermi”
GPU. A serial implementation of the same was also run
in Matlab R2010a on Intel(R) core(TM)2 Duo 3.00GHz
processor and 3GB RAM.
B. Evaluation Dataset
The performance of the parallel implementation of
power method for computing PageRank and it’s corre-
sponding extrapolation variant is evaluated on publicly
available datasets [7] [8]. We also evaluated the per-
formance on stanford.edu dataset. It consists of 281903
pages and 2382912 links. This link structure is repre-
sented as an adjacency list, which is read as an input to
construct the sparse matrix P. Table I summarizes the
details of the datasets used in our experimentation.
Name Size
Computational Complexity (CC) 884 x 884
Abortion 2292 x 2292
Genetic 3468 x 3468
Stanford.edu 281903 x 281903
TABLE I
DATASET DESCRIPTION
Fig. 1. Execution time for α = 0.75 on stanford.edu dataset
reduced
Serial = Aitken extrapolated Power method?
GPU = ?
α  Reduction in It(Serial) Reduction in It(GPU)
0.75 1e-3 0 1
0.75 1e-8 3 3
0.75 1e-10 2 2
0.75 1e-12 1 2
0.80 1e-3 0 0
0.80 1e-8 1 4
0.80 1e-10 4 4
0.80 1e-12 3 3
0.99 1e-3 112 114
0.99 1e-8 116 129
0.99 1e-10 126 130
TABLE II
SAMPLE RESULTS FOR EXTRAPOLATION ON GENETIC DATASET
α  Reduction in It(Serial) Reduction in It(GPU)
0.85 1e-3 3 4
0.85 1e-8 4 5
0.85 1e-10 4 5
0.85 1e-12 5 5
0.95 1e-3 4 7
0.95 1e-8 5 7
0.95 1e-10 6 7
0.95 1e-12 7 7
TABLE III
SAMPLE RESULTS FOR EXTRAPOLATION ON CC DATASET
V. RESULTS1
In this section, we quantify the performance of our
parallel implementation of the power method and it’s
extrapolation variant on datasets of varying sizes. The
performance of the same is evaluated for varying values
of α and tolerance factor . For our experimentation,
the α values ranged from 0.75 to 0.99 and the  values
ranged from 1e − 3 to 1e − 15. The results of the
datasets titled computational complexity and Genetic
are tabulated in Tables II and III. Here, “It” refers
to the total number of iterations taken for the power
method to converge and “Ti” refers to the time taken
for convergence in seconds.
From our findings, we observed substantial perfor-
mance gains on all the datasets considered for exper-
imentation and it is more pronounced in the case of
stanford.edu dataset. As expected, the parallel implemen-
tation outperformed the serial implementation in terms
of time taken for convergence for all the datasets. We
also found a potential gain in terms of the number of
iterations for convergence as α became closer to 1 and
1
Due to the page limit constraints, we could present only a sample
of our obtained results
Fig. 2. Execution time for α = 0.85 on stanford.edu dataset
Fig. 3. Execution time for α = 0.90 on stanford.edu dataset
for higher tolerance levels. For instance, for α = 0.99
and  = 1e-15, the serial implementation, converged in
18,234 iterations, whereas, the parallel implementation
took merely 3013 iterations for convergence. Thus, we
obtained a performance improvement of 16.52%.
We obtained positive results even in the case of
Aitken Extrapolation in terms of the number of iterations
taken for convergence. We measured the improvement in
terms of reduction in the number of iterations taken for
convergence. We summarize our findings in Tables II and
III. Specifically, for the Genetic dataset, for α = 0.99, and
for varying  values, on an average, we observed that, the
parallel implementation reduced the number of iterations
for convergence by a difference of 6.
VI. CONCLUSIONS AND FUTURE WORK
PageRank computation that forms the core component
of Google’s search technology has been successfully
parallelized using the CUDA programing model on a
single GPU. We performed an extensive evaluation of
our parallel implementation for different input parameter
values and on datasets of varying sizes. From our results,
it is clearly evident that our work is very relevant as it
not only to minimizes the time involved in computing
PageRank, but also reduces the number of iterations for
convergence.
Too high
damping
factor (al
pha)
Too high α
Too small ε
A parallel impl. cannot
affect no. of iterations
Fig. 4. Execution time for α = 0.95 on stanford.edu dataset
Fig. 5. Execution time for α = 0.99 on stanford.edu dataset
We intend to extend this parallel implementation on
larger datasets like stanford-berkely.edu [14] that reflect
the size of the World Wide Web in greater magnitude.
All the datasets that are considered for experimentation
are large but sill fit within the limits of the GPU memory.
The single GPU approach for computing PageRank may
not be scalable for larger matrices as the on-board GPU
memory is a major constraint. Therefore, we look out
for alternatives to accommodate large scale matrices. We
also look out for higher performance gains through better
optimization techniques at various levels of the algo-
rithm. Though Aitken extrapolation gave positive results,
it suffers a performance loss because the pruning of the
component values of the iterates may not be optimal. In
this regard, we also intend to parallelize another variant
of power method obtained using quadratic extrapolation
technique, which prunes the values in an optimal way.
ACKNOWLEDGMENT
We would like to express our deepest sense of grati-
tude to our Founder Chancellor Bhagwan Sri Sathya Sai
Baba. Without His grace, this work would have been
impossible. We also acknowledge NVIDIA Pune division
for providing the GPU infrastructure and support.
Fig. 6. Number of iterations for convergence on stanford.edu dataset
(Power Method),  = 1e-15
REFERENCES
[1] Lawrence Page, Sergey Brin, Rajeev Motwani, and Terry Wino-
grad, “The pagerank citation ranking: Bringing order to the
web.,” Technical report, Stanford InfoLab, 1999.
[2] Kurt Bryan and Tanya Leise, “The $25,000,000,000 eigenvec-
tor: the linear algebra behind google,” SIAM Review, vol. 48,
pp. 569–581, 2006.
[3] Sergey Brin and Lawrence Page, “The anatomy of a large-scale
hypertextual web search engine,” Computer Networks and ISDN
Systems, vol. 30, no. 1-7, pp. 107 – 117, 1998, Proceedings of
the Seventh International World Wide Web Conference.
[4] Sepandar Kamvar, Taher Haveliwala, Christopher Manning, and
Gene Golub, “Extrapolation methods for accelerating pagerank
computations,” in In Proceedings of the Twelfth International
World Wide Web Conference. 2003, pp. 261–270, ACM Press.
[5] CUDA CUBLAS Library, PG-05326-040V01, NVIDIA Corpo-
ration, April 2011.
[6] CUDA CUSPARSE Library, PG-05329-040V01, NVIDIA Cor-
poration, January 2011.
[7] Sepandar D. Kamvar, “Test datasets for link analysis algo-
rithms, http://kamvar.org/assets/data/stanford-web.tar.gz,” Ac-
cessed Online.
[8] University of Toronto Department of Computer Science,
“Datasets for evaluatiing link analysis algorithms,
www.cs.toronto.edu/ tsap/experiments/datasets/index.html,”
Accessed Online.
[9] Yangbo Zhu, Shaozhi Ye, and Xing Li, “Distributed PageR-
ank computation based on iterative aggregation-disaggregation
methods,” in Proceedings of the 14th ACM international
conference on Information and knowledge management.
[10] David Gleich, “Fast parallel PageRank: A linear system
approach,” Tech. Rep., 2004.
[11] Tianji Wu, Bo Wang, Yi Shan, Feng Yan, Yu Wang, and Ningyi
Xu, “Efficient PageRank and spmv computation on AMD gpus,”
Parallel Processing, International Conference on, vol. 0, pp.
81–89, 2010.
[12] Ata Turk B. Barla Cambazoglu Akira Nukada Ali Cevahir,
Cevdet Aykanat and Satoshi Matsuoka, “Efficient PageRank
on GPU clusters,” 18th Workshop for the evaluation of high-
performance computing architecture, 2009.
[13] Taher H. Haveliwala, Sepandar D. Kamvar, and Ar D. Kamvar,
“The second eigenvalue of the google matrix,” 2003.
[14] Sepandar Kamvar, Taher Haveliwala, and Gene Golub, “Adap-
tive methods for the computation of PageRank,” Linear Algebra
and its Applications, vol. 386, no. 0, pp. 51 – 65, 2004.

More Related Content

What's hot

Ranking using pairwise preferences
Ranking using pairwise preferencesRanking using pairwise preferences
Ranking using pairwise preferences
Sweta Sharma
 
deep reinforcement learning with double q learning
deep reinforcement learning with double q learningdeep reinforcement learning with double q learning
deep reinforcement learning with double q learning
SeungHyeok Baek
 
Experimental study of Data clustering using k- Means and modified algorithms
Experimental study of Data clustering using k- Means and modified algorithmsExperimental study of Data clustering using k- Means and modified algorithms
Experimental study of Data clustering using k- Means and modified algorithms
IJDKP
 
Deep Reinforcement Learning: Q-Learning
Deep Reinforcement Learning: Q-LearningDeep Reinforcement Learning: Q-Learning
Deep Reinforcement Learning: Q-Learning
Kai-Wen Zhao
 
Pca analysis
Pca analysisPca analysis
Pca analysis
kunasujitha
 
FAST ALGORITHMS FOR UNSUPERVISED LEARNING IN LARGE DATA SETS
FAST ALGORITHMS FOR UNSUPERVISED LEARNING IN LARGE DATA SETSFAST ALGORITHMS FOR UNSUPERVISED LEARNING IN LARGE DATA SETS
FAST ALGORITHMS FOR UNSUPERVISED LEARNING IN LARGE DATA SETS
csandit
 
Advance Data Mining - Analysis and forecasting of power factor for optimum el...
Advance Data Mining - Analysis and forecasting of power factor for optimum el...Advance Data Mining - Analysis and forecasting of power factor for optimum el...
Advance Data Mining - Analysis and forecasting of power factor for optimum el...
Shrikant Samarth
 
Principal component analysis - application in finance
Principal component analysis - application in financePrincipal component analysis - application in finance
Principal component analysis - application in finance
Igor Hlivka
 
Lect5 principal component analysis
Lect5 principal component analysisLect5 principal component analysis
Lect5 principal component analysis
hktripathy
 
Artificial Neural Network and Multi-Response Optimization in Reliability Meas...
Artificial Neural Network and Multi-Response Optimization in Reliability Meas...Artificial Neural Network and Multi-Response Optimization in Reliability Meas...
Artificial Neural Network and Multi-Response Optimization in Reliability Meas...
inventionjournals
 
Principal Component Analysis (PCA) and LDA PPT Slides
Principal Component Analysis (PCA) and LDA PPT SlidesPrincipal Component Analysis (PCA) and LDA PPT Slides
Principal Component Analysis (PCA) and LDA PPT Slides
AbhishekKumar4995
 
Principal Component Analysis
Principal Component AnalysisPrincipal Component Analysis
Principal Component Analysis
Ricardo Wendell Rodrigues da Silveira
 
Improving K-NN Internet Traffic Classification Using Clustering and Principle...
Improving K-NN Internet Traffic Classification Using Clustering and Principle...Improving K-NN Internet Traffic Classification Using Clustering and Principle...
Improving K-NN Internet Traffic Classification Using Clustering and Principle...
journalBEEI
 
Pca ppt
Pca pptPca ppt
Wasserstein 1031 thesis [Chung il kim]
Wasserstein 1031 thesis [Chung il kim]Wasserstein 1031 thesis [Chung il kim]
Wasserstein 1031 thesis [Chung il kim]
Chung-Il Kim
 
Pca
PcaPca
Master's Thesis Presentation
Master's Thesis PresentationMaster's Thesis Presentation
Master's Thesis Presentation
●๋•máńíکhá Gőýálツ
 
Probabilistic PCA, EM, and more
Probabilistic PCA, EM, and moreProbabilistic PCA, EM, and more
Probabilistic PCA, EM, and more
hsharmasshare
 
slides-defense-jie
slides-defense-jieslides-defense-jie
slides-defense-jie
jie ren
 
PCA
PCAPCA

What's hot (20)

Ranking using pairwise preferences
Ranking using pairwise preferencesRanking using pairwise preferences
Ranking using pairwise preferences
 
deep reinforcement learning with double q learning
deep reinforcement learning with double q learningdeep reinforcement learning with double q learning
deep reinforcement learning with double q learning
 
Experimental study of Data clustering using k- Means and modified algorithms
Experimental study of Data clustering using k- Means and modified algorithmsExperimental study of Data clustering using k- Means and modified algorithms
Experimental study of Data clustering using k- Means and modified algorithms
 
Deep Reinforcement Learning: Q-Learning
Deep Reinforcement Learning: Q-LearningDeep Reinforcement Learning: Q-Learning
Deep Reinforcement Learning: Q-Learning
 
Pca analysis
Pca analysisPca analysis
Pca analysis
 
FAST ALGORITHMS FOR UNSUPERVISED LEARNING IN LARGE DATA SETS
FAST ALGORITHMS FOR UNSUPERVISED LEARNING IN LARGE DATA SETSFAST ALGORITHMS FOR UNSUPERVISED LEARNING IN LARGE DATA SETS
FAST ALGORITHMS FOR UNSUPERVISED LEARNING IN LARGE DATA SETS
 
Advance Data Mining - Analysis and forecasting of power factor for optimum el...
Advance Data Mining - Analysis and forecasting of power factor for optimum el...Advance Data Mining - Analysis and forecasting of power factor for optimum el...
Advance Data Mining - Analysis and forecasting of power factor for optimum el...
 
Principal component analysis - application in finance
Principal component analysis - application in financePrincipal component analysis - application in finance
Principal component analysis - application in finance
 
Lect5 principal component analysis
Lect5 principal component analysisLect5 principal component analysis
Lect5 principal component analysis
 
Artificial Neural Network and Multi-Response Optimization in Reliability Meas...
Artificial Neural Network and Multi-Response Optimization in Reliability Meas...Artificial Neural Network and Multi-Response Optimization in Reliability Meas...
Artificial Neural Network and Multi-Response Optimization in Reliability Meas...
 
Principal Component Analysis (PCA) and LDA PPT Slides
Principal Component Analysis (PCA) and LDA PPT SlidesPrincipal Component Analysis (PCA) and LDA PPT Slides
Principal Component Analysis (PCA) and LDA PPT Slides
 
Principal Component Analysis
Principal Component AnalysisPrincipal Component Analysis
Principal Component Analysis
 
Improving K-NN Internet Traffic Classification Using Clustering and Principle...
Improving K-NN Internet Traffic Classification Using Clustering and Principle...Improving K-NN Internet Traffic Classification Using Clustering and Principle...
Improving K-NN Internet Traffic Classification Using Clustering and Principle...
 
Pca ppt
Pca pptPca ppt
Pca ppt
 
Wasserstein 1031 thesis [Chung il kim]
Wasserstein 1031 thesis [Chung il kim]Wasserstein 1031 thesis [Chung il kim]
Wasserstein 1031 thesis [Chung il kim]
 
Pca
PcaPca
Pca
 
Master's Thesis Presentation
Master's Thesis PresentationMaster's Thesis Presentation
Master's Thesis Presentation
 
Probabilistic PCA, EM, and more
Probabilistic PCA, EM, and moreProbabilistic PCA, EM, and more
Probabilistic PCA, EM, and more
 
slides-defense-jie
slides-defense-jieslides-defense-jie
slides-defense-jie
 
PCA
PCAPCA
PCA
 

Similar to Cost Efficient PageRank Computation using GPU : NOTES

Analysis of Rayleigh Quotient in Extrapolation Method to Accelerate the Compu...
Analysis of Rayleigh Quotient in Extrapolation Method to Accelerate the Compu...Analysis of Rayleigh Quotient in Extrapolation Method to Accelerate the Compu...
Analysis of Rayleigh Quotient in Extrapolation Method to Accelerate the Compu...
IOSR Journals
 
Incremental Page Rank Computation on Evolving Graphs
Incremental Page Rank Computation on Evolving GraphsIncremental Page Rank Computation on Evolving Graphs
Incremental Page Rank Computation on Evolving Graphs
Subhajit Sahu
 
zanardi
zanardizanardi
HyPR: Hybrid Page Ranking on Evolving Graphs (NOTES)
HyPR: Hybrid Page Ranking on Evolving Graphs (NOTES)HyPR: Hybrid Page Ranking on Evolving Graphs (NOTES)
HyPR: Hybrid Page Ranking on Evolving Graphs (NOTES)
Subhajit Sahu
 
PageRank Algorithm In data mining
PageRank Algorithm In data miningPageRank Algorithm In data mining
PageRank Algorithm In data mining
Mai Mustafa
 
A comparison-of-first-and-second-order-training-algorithms-for-artificial-neu...
A comparison-of-first-and-second-order-training-algorithms-for-artificial-neu...A comparison-of-first-and-second-order-training-algorithms-for-artificial-neu...
A comparison-of-first-and-second-order-training-algorithms-for-artificial-neu...
Cemal Ardil
 
Practical --1.pdf
Practical --1.pdfPractical --1.pdf
Off-Policy Deep Reinforcement Learning without Exploration.pdf
Off-Policy Deep Reinforcement Learning without Exploration.pdfOff-Policy Deep Reinforcement Learning without Exploration.pdf
Off-Policy Deep Reinforcement Learning without Exploration.pdf
Po-Chuan Chen
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
kevinfischer93
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
carlos
 
DIAPOSITIVA
DIAPOSITIVADIAPOSITIVA
DIAPOSITIVA
Armando
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
Karlita Berru
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
jonathan
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
JLMora
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
Christian Pillasagua
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
jonathan
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
Jorge Arevalo
 
mm
mmmm
Extrapolation
ExtrapolationExtrapolation
Extrapolation
Christian Pillasagua
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
Samir
 

Similar to Cost Efficient PageRank Computation using GPU : NOTES (20)

Analysis of Rayleigh Quotient in Extrapolation Method to Accelerate the Compu...
Analysis of Rayleigh Quotient in Extrapolation Method to Accelerate the Compu...Analysis of Rayleigh Quotient in Extrapolation Method to Accelerate the Compu...
Analysis of Rayleigh Quotient in Extrapolation Method to Accelerate the Compu...
 
Incremental Page Rank Computation on Evolving Graphs
Incremental Page Rank Computation on Evolving GraphsIncremental Page Rank Computation on Evolving Graphs
Incremental Page Rank Computation on Evolving Graphs
 
zanardi
zanardizanardi
zanardi
 
HyPR: Hybrid Page Ranking on Evolving Graphs (NOTES)
HyPR: Hybrid Page Ranking on Evolving Graphs (NOTES)HyPR: Hybrid Page Ranking on Evolving Graphs (NOTES)
HyPR: Hybrid Page Ranking on Evolving Graphs (NOTES)
 
PageRank Algorithm In data mining
PageRank Algorithm In data miningPageRank Algorithm In data mining
PageRank Algorithm In data mining
 
A comparison-of-first-and-second-order-training-algorithms-for-artificial-neu...
A comparison-of-first-and-second-order-training-algorithms-for-artificial-neu...A comparison-of-first-and-second-order-training-algorithms-for-artificial-neu...
A comparison-of-first-and-second-order-training-algorithms-for-artificial-neu...
 
Practical --1.pdf
Practical --1.pdfPractical --1.pdf
Practical --1.pdf
 
Off-Policy Deep Reinforcement Learning without Exploration.pdf
Off-Policy Deep Reinforcement Learning without Exploration.pdfOff-Policy Deep Reinforcement Learning without Exploration.pdf
Off-Policy Deep Reinforcement Learning without Exploration.pdf
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 
DIAPOSITIVA
DIAPOSITIVADIAPOSITIVA
DIAPOSITIVA
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 
mm
mmmm
mm
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 

More from Subhajit Sahu

About TrueTime, Spanner, Clock synchronization, CAP theorem, Two-phase lockin...
About TrueTime, Spanner, Clock synchronization, CAP theorem, Two-phase lockin...About TrueTime, Spanner, Clock synchronization, CAP theorem, Two-phase lockin...
About TrueTime, Spanner, Clock synchronization, CAP theorem, Two-phase lockin...
Subhajit Sahu
 
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Subhajit Sahu
 
Adjusting Bitset for graph : SHORT REPORT / NOTES
Adjusting Bitset for graph : SHORT REPORT / NOTESAdjusting Bitset for graph : SHORT REPORT / NOTES
Adjusting Bitset for graph : SHORT REPORT / NOTES
Subhajit Sahu
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Subhajit Sahu
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
Subhajit Sahu
 
Experiments with Primitive operations : SHORT REPORT / NOTES
Experiments with Primitive operations : SHORT REPORT / NOTESExperiments with Primitive operations : SHORT REPORT / NOTES
Experiments with Primitive operations : SHORT REPORT / NOTES
Subhajit Sahu
 
PageRank Experiments : SHORT REPORT / NOTES
PageRank Experiments : SHORT REPORT / NOTESPageRank Experiments : SHORT REPORT / NOTES
PageRank Experiments : SHORT REPORT / NOTES
Subhajit Sahu
 
Algorithmic optimizations for Dynamic Monolithic PageRank (from STICD) : SHOR...
Algorithmic optimizations for Dynamic Monolithic PageRank (from STICD) : SHOR...Algorithmic optimizations for Dynamic Monolithic PageRank (from STICD) : SHOR...
Algorithmic optimizations for Dynamic Monolithic PageRank (from STICD) : SHOR...
Subhajit Sahu
 
Adjusting OpenMP PageRank : SHORT REPORT / NOTES
Adjusting OpenMP PageRank : SHORT REPORT / NOTESAdjusting OpenMP PageRank : SHORT REPORT / NOTES
Adjusting OpenMP PageRank : SHORT REPORT / NOTES
Subhajit Sahu
 
word2vec, node2vec, graph2vec, X2vec: Towards a Theory of Vector Embeddings o...
word2vec, node2vec, graph2vec, X2vec: Towards a Theory of Vector Embeddings o...word2vec, node2vec, graph2vec, X2vec: Towards a Theory of Vector Embeddings o...
word2vec, node2vec, graph2vec, X2vec: Towards a Theory of Vector Embeddings o...
Subhajit Sahu
 
DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTES
DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTESDyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTES
DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTES
Subhajit Sahu
 
Shared memory Parallelism (NOTES)
Shared memory Parallelism (NOTES)Shared memory Parallelism (NOTES)
Shared memory Parallelism (NOTES)
Subhajit Sahu
 
A Dynamic Algorithm for Local Community Detection in Graphs : NOTES
A Dynamic Algorithm for Local Community Detection in Graphs : NOTESA Dynamic Algorithm for Local Community Detection in Graphs : NOTES
A Dynamic Algorithm for Local Community Detection in Graphs : NOTES
Subhajit Sahu
 
Scalable Static and Dynamic Community Detection Using Grappolo : NOTES
Scalable Static and Dynamic Community Detection Using Grappolo : NOTESScalable Static and Dynamic Community Detection Using Grappolo : NOTES
Scalable Static and Dynamic Community Detection Using Grappolo : NOTES
Subhajit Sahu
 
Application Areas of Community Detection: A Review : NOTES
Application Areas of Community Detection: A Review : NOTESApplication Areas of Community Detection: A Review : NOTES
Application Areas of Community Detection: A Review : NOTES
Subhajit Sahu
 
Community Detection on the GPU : NOTES
Community Detection on the GPU : NOTESCommunity Detection on the GPU : NOTES
Community Detection on the GPU : NOTES
Subhajit Sahu
 
Survey for extra-child-process package : NOTES
Survey for extra-child-process package : NOTESSurvey for extra-child-process package : NOTES
Survey for extra-child-process package : NOTES
Subhajit Sahu
 
Dynamic Batch Parallel Algorithms for Updating PageRank : POSTER
Dynamic Batch Parallel Algorithms for Updating PageRank : POSTERDynamic Batch Parallel Algorithms for Updating PageRank : POSTER
Dynamic Batch Parallel Algorithms for Updating PageRank : POSTER
Subhajit Sahu
 
Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...
Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...
Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...
Subhajit Sahu
 
Fast Incremental Community Detection on Dynamic Graphs : NOTES
Fast Incremental Community Detection on Dynamic Graphs : NOTESFast Incremental Community Detection on Dynamic Graphs : NOTES
Fast Incremental Community Detection on Dynamic Graphs : NOTES
Subhajit Sahu
 

More from Subhajit Sahu (20)

About TrueTime, Spanner, Clock synchronization, CAP theorem, Two-phase lockin...
About TrueTime, Spanner, Clock synchronization, CAP theorem, Two-phase lockin...About TrueTime, Spanner, Clock synchronization, CAP theorem, Two-phase lockin...
About TrueTime, Spanner, Clock synchronization, CAP theorem, Two-phase lockin...
 
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
 
Adjusting Bitset for graph : SHORT REPORT / NOTES
Adjusting Bitset for graph : SHORT REPORT / NOTESAdjusting Bitset for graph : SHORT REPORT / NOTES
Adjusting Bitset for graph : SHORT REPORT / NOTES
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
 
Experiments with Primitive operations : SHORT REPORT / NOTES
Experiments with Primitive operations : SHORT REPORT / NOTESExperiments with Primitive operations : SHORT REPORT / NOTES
Experiments with Primitive operations : SHORT REPORT / NOTES
 
PageRank Experiments : SHORT REPORT / NOTES
PageRank Experiments : SHORT REPORT / NOTESPageRank Experiments : SHORT REPORT / NOTES
PageRank Experiments : SHORT REPORT / NOTES
 
Algorithmic optimizations for Dynamic Monolithic PageRank (from STICD) : SHOR...
Algorithmic optimizations for Dynamic Monolithic PageRank (from STICD) : SHOR...Algorithmic optimizations for Dynamic Monolithic PageRank (from STICD) : SHOR...
Algorithmic optimizations for Dynamic Monolithic PageRank (from STICD) : SHOR...
 
Adjusting OpenMP PageRank : SHORT REPORT / NOTES
Adjusting OpenMP PageRank : SHORT REPORT / NOTESAdjusting OpenMP PageRank : SHORT REPORT / NOTES
Adjusting OpenMP PageRank : SHORT REPORT / NOTES
 
word2vec, node2vec, graph2vec, X2vec: Towards a Theory of Vector Embeddings o...
word2vec, node2vec, graph2vec, X2vec: Towards a Theory of Vector Embeddings o...word2vec, node2vec, graph2vec, X2vec: Towards a Theory of Vector Embeddings o...
word2vec, node2vec, graph2vec, X2vec: Towards a Theory of Vector Embeddings o...
 
DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTES
DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTESDyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTES
DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTES
 
Shared memory Parallelism (NOTES)
Shared memory Parallelism (NOTES)Shared memory Parallelism (NOTES)
Shared memory Parallelism (NOTES)
 
A Dynamic Algorithm for Local Community Detection in Graphs : NOTES
A Dynamic Algorithm for Local Community Detection in Graphs : NOTESA Dynamic Algorithm for Local Community Detection in Graphs : NOTES
A Dynamic Algorithm for Local Community Detection in Graphs : NOTES
 
Scalable Static and Dynamic Community Detection Using Grappolo : NOTES
Scalable Static and Dynamic Community Detection Using Grappolo : NOTESScalable Static and Dynamic Community Detection Using Grappolo : NOTES
Scalable Static and Dynamic Community Detection Using Grappolo : NOTES
 
Application Areas of Community Detection: A Review : NOTES
Application Areas of Community Detection: A Review : NOTESApplication Areas of Community Detection: A Review : NOTES
Application Areas of Community Detection: A Review : NOTES
 
Community Detection on the GPU : NOTES
Community Detection on the GPU : NOTESCommunity Detection on the GPU : NOTES
Community Detection on the GPU : NOTES
 
Survey for extra-child-process package : NOTES
Survey for extra-child-process package : NOTESSurvey for extra-child-process package : NOTES
Survey for extra-child-process package : NOTES
 
Dynamic Batch Parallel Algorithms for Updating PageRank : POSTER
Dynamic Batch Parallel Algorithms for Updating PageRank : POSTERDynamic Batch Parallel Algorithms for Updating PageRank : POSTER
Dynamic Batch Parallel Algorithms for Updating PageRank : POSTER
 
Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...
Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...
Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...
 
Fast Incremental Community Detection on Dynamic Graphs : NOTES
Fast Incremental Community Detection on Dynamic Graphs : NOTESFast Incremental Community Detection on Dynamic Graphs : NOTES
Fast Incremental Community Detection on Dynamic Graphs : NOTES
 

Recently uploaded

Applied Science: Thermodynamics, Laws & Methodology.pdf
Applied Science: Thermodynamics, Laws & Methodology.pdfApplied Science: Thermodynamics, Laws & Methodology.pdf
Applied Science: Thermodynamics, Laws & Methodology.pdf
University of Hertfordshire
 
Authoring a personal GPT for your research and practice: How we created the Q...
Authoring a personal GPT for your research and practice: How we created the Q...Authoring a personal GPT for your research and practice: How we created the Q...
Authoring a personal GPT for your research and practice: How we created the Q...
Leonel Morgado
 
The binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defectsThe binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defects
Sérgio Sacani
 
Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.
Aditi Bajpai
 
Describing and Interpreting an Immersive Learning Case with the Immersion Cub...
Describing and Interpreting an Immersive Learning Case with the Immersion Cub...Describing and Interpreting an Immersive Learning Case with the Immersion Cub...
Describing and Interpreting an Immersive Learning Case with the Immersion Cub...
Leonel Morgado
 
Eukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptxEukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptx
RitabrataSarkar3
 
ESA/ACT Science Coffee: Diego Blas - Gravitational wave detection with orbita...
ESA/ACT Science Coffee: Diego Blas - Gravitational wave detection with orbita...ESA/ACT Science Coffee: Diego Blas - Gravitational wave detection with orbita...
ESA/ACT Science Coffee: Diego Blas - Gravitational wave detection with orbita...
Advanced-Concepts-Team
 
(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...
(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...
(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...
Scintica Instrumentation
 
Sexuality - Issues, Attitude and Behaviour - Applied Social Psychology - Psyc...
Sexuality - Issues, Attitude and Behaviour - Applied Social Psychology - Psyc...Sexuality - Issues, Attitude and Behaviour - Applied Social Psychology - Psyc...
Sexuality - Issues, Attitude and Behaviour - Applied Social Psychology - Psyc...
PsychoTech Services
 
11.1 Role of physical biological in deterioration of grains.pdf
11.1 Role of physical biological in deterioration of grains.pdf11.1 Role of physical biological in deterioration of grains.pdf
11.1 Role of physical biological in deterioration of grains.pdf
PirithiRaju
 
molar-distalization in orthodontics-seminar.pptx
molar-distalization in orthodontics-seminar.pptxmolar-distalization in orthodontics-seminar.pptx
molar-distalization in orthodontics-seminar.pptx
Anagha Prasad
 
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
Sérgio Sacani
 
ESR spectroscopy in liquid food and beverages.pptx
ESR spectroscopy in liquid food and beverages.pptxESR spectroscopy in liquid food and beverages.pptx
ESR spectroscopy in liquid food and beverages.pptx
PRIYANKA PATEL
 
快速办理(UAM毕业证书)马德里自治大学毕业证学位证一模一样
快速办理(UAM毕业证书)马德里自治大学毕业证学位证一模一样快速办理(UAM毕业证书)马德里自治大学毕业证学位证一模一样
快速办理(UAM毕业证书)马德里自治大学毕业证学位证一模一样
hozt8xgk
 
The debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically youngThe debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically young
Sérgio Sacani
 
Immersive Learning That Works: Research Grounding and Paths Forward
Immersive Learning That Works: Research Grounding and Paths ForwardImmersive Learning That Works: Research Grounding and Paths Forward
Immersive Learning That Works: Research Grounding and Paths Forward
Leonel Morgado
 
Mending Clothing to Support Sustainable Fashion_CIMaR 2024.pdf
Mending Clothing to Support Sustainable Fashion_CIMaR 2024.pdfMending Clothing to Support Sustainable Fashion_CIMaR 2024.pdf
Mending Clothing to Support Sustainable Fashion_CIMaR 2024.pdf
Selcen Ozturkcan
 
Pests of Storage_Identification_Dr.UPR.pdf
Pests of Storage_Identification_Dr.UPR.pdfPests of Storage_Identification_Dr.UPR.pdf
Pests of Storage_Identification_Dr.UPR.pdf
PirithiRaju
 
Basics of crystallography, crystal systems, classes and different forms
Basics of crystallography, crystal systems, classes and different formsBasics of crystallography, crystal systems, classes and different forms
Basics of crystallography, crystal systems, classes and different forms
MaheshaNanjegowda
 
Sciences of Europe journal No 142 (2024)
Sciences of Europe journal No 142 (2024)Sciences of Europe journal No 142 (2024)
Sciences of Europe journal No 142 (2024)
Sciences of Europe
 

Recently uploaded (20)

Applied Science: Thermodynamics, Laws & Methodology.pdf
Applied Science: Thermodynamics, Laws & Methodology.pdfApplied Science: Thermodynamics, Laws & Methodology.pdf
Applied Science: Thermodynamics, Laws & Methodology.pdf
 
Authoring a personal GPT for your research and practice: How we created the Q...
Authoring a personal GPT for your research and practice: How we created the Q...Authoring a personal GPT for your research and practice: How we created the Q...
Authoring a personal GPT for your research and practice: How we created the Q...
 
The binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defectsThe binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defects
 
Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.
 
Describing and Interpreting an Immersive Learning Case with the Immersion Cub...
Describing and Interpreting an Immersive Learning Case with the Immersion Cub...Describing and Interpreting an Immersive Learning Case with the Immersion Cub...
Describing and Interpreting an Immersive Learning Case with the Immersion Cub...
 
Eukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptxEukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptx
 
ESA/ACT Science Coffee: Diego Blas - Gravitational wave detection with orbita...
ESA/ACT Science Coffee: Diego Blas - Gravitational wave detection with orbita...ESA/ACT Science Coffee: Diego Blas - Gravitational wave detection with orbita...
ESA/ACT Science Coffee: Diego Blas - Gravitational wave detection with orbita...
 
(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...
(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...
(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...
 
Sexuality - Issues, Attitude and Behaviour - Applied Social Psychology - Psyc...
Sexuality - Issues, Attitude and Behaviour - Applied Social Psychology - Psyc...Sexuality - Issues, Attitude and Behaviour - Applied Social Psychology - Psyc...
Sexuality - Issues, Attitude and Behaviour - Applied Social Psychology - Psyc...
 
11.1 Role of physical biological in deterioration of grains.pdf
11.1 Role of physical biological in deterioration of grains.pdf11.1 Role of physical biological in deterioration of grains.pdf
11.1 Role of physical biological in deterioration of grains.pdf
 
molar-distalization in orthodontics-seminar.pptx
molar-distalization in orthodontics-seminar.pptxmolar-distalization in orthodontics-seminar.pptx
molar-distalization in orthodontics-seminar.pptx
 
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
 
ESR spectroscopy in liquid food and beverages.pptx
ESR spectroscopy in liquid food and beverages.pptxESR spectroscopy in liquid food and beverages.pptx
ESR spectroscopy in liquid food and beverages.pptx
 
快速办理(UAM毕业证书)马德里自治大学毕业证学位证一模一样
快速办理(UAM毕业证书)马德里自治大学毕业证学位证一模一样快速办理(UAM毕业证书)马德里自治大学毕业证学位证一模一样
快速办理(UAM毕业证书)马德里自治大学毕业证学位证一模一样
 
The debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically youngThe debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically young
 
Immersive Learning That Works: Research Grounding and Paths Forward
Immersive Learning That Works: Research Grounding and Paths ForwardImmersive Learning That Works: Research Grounding and Paths Forward
Immersive Learning That Works: Research Grounding and Paths Forward
 
Mending Clothing to Support Sustainable Fashion_CIMaR 2024.pdf
Mending Clothing to Support Sustainable Fashion_CIMaR 2024.pdfMending Clothing to Support Sustainable Fashion_CIMaR 2024.pdf
Mending Clothing to Support Sustainable Fashion_CIMaR 2024.pdf
 
Pests of Storage_Identification_Dr.UPR.pdf
Pests of Storage_Identification_Dr.UPR.pdfPests of Storage_Identification_Dr.UPR.pdf
Pests of Storage_Identification_Dr.UPR.pdf
 
Basics of crystallography, crystal systems, classes and different forms
Basics of crystallography, crystal systems, classes and different formsBasics of crystallography, crystal systems, classes and different forms
Basics of crystallography, crystal systems, classes and different forms
 
Sciences of Europe journal No 142 (2024)
Sciences of Europe journal No 142 (2024)Sciences of Europe journal No 142 (2024)
Sciences of Europe journal No 142 (2024)
 

Cost Efficient PageRank Computation using GPU : NOTES

  • 1. Cost Efficient PageRank Computation using GPU Praveen K.∗ , Vamshi Krishna K.† , Anil Sri Harsha B.‡ , S. Balasubramanian, P.K. Baruah Sri Satya Sai Institute of Higher Learning, Prasanthi Nilayam, India {praveen.kkp, k.vamshi.krish, anilharsha.b}@gmail.com, {sbalasubramanian, pkbaruah}@sssihl.edu.in Abstract—The PageRank algorithm for determining the “importance” of Web pages forms the core component of Google’s search technology. As the Web graph is very large, containing over a billion nodes, PageRank is generally computed offline, during the preprocessing of the Web crawl, before any queries have been issued. Viewed math- ematically, PageRank is nothing but the principal Eigen vector of a sparse matrix which can be computed using any of the standard iterative methods. In this particular work, we attempt to parallelize the famous iterative method, the Power method and its variant obtained through Aitken extrapolation for computing PageRank using CUDA. From our findings, we conclude that our parallel implementation of the PageRank algorithm is highly cost effective not only in terms of the time taken for convergence, but also in terms of the number of iterations for higher values of the damping factor. Index Terms—PageRank, Principal Eigenvector, Eigen- value, Extrapolation, Markov Matrix, CUDA, CUBLAS, CUSPARSE. I. INTRODUCTION The evolution of GPU technology has outperformed the traditional Parallel Programing paradigms, introduc- ing a new phase in the field of scientific computing. GPU based solutions have outperformed the corresponding sequential implementations by leaps and bounds. Par- ticularly, for scientific computing applications, they pro- vide a very valuable resource to parallelize and achieve optimum performance. Determining a page’s relevance to query terms is a complex problem for a search engine and this decides how good a search engine is. Google solves this complex problem through its PageRank [1][2] algorithm which quantitatively rates the importance of each page on the web, allowing it to rank the pages and thereby present to the user, the more important (and typically most relevant and helpful) pages first. ∗ Student Author † Student Author ‡ Student Author As the Web graph is very large, containing over a billion nodes, PageRank is generally computed offline, during the preprocessing of the Web crawl, before any queries have been issued [3]. In this particular work, we parallelized a customized serial implementation of power method and a variant of it obtained through Aitken extrapolation [4] for computing PageRank. The core component in the power method for com- puting PageRank is the Sparse Matrix-Vector product (SpMV) and certain vector-vector operations. The paral- lel implementation was done using the CUDA program- ing model, developed by NVIDIA. In this parallel imple- mentation, we exploited the power of CUBLAS [5] and CUSPARSE [6] routines for the same. From our results, it is evident that the parallel implementation outperforms the serial equivalent in terms of both the factors viz. convergence time and number of iterations for specific values of the damping factor (α). We validated our work on publicly available datasets [7] [8], which are matrices that represent web graphs of sizes varying from 884 x 884 to 281903 x 281903. The remainder of this paper is organized as follows. Section II reviews the related work done in this area. Section III, gives an overview about the power method and it’s extrapolation variant for computing PageRank. Section IV discusses the methodology used to parallelize the serial implementation. The experimental results ob- tained are discussed in Section V. Finally we point to some conclusions and future work that can be undertaken in Section VI. II. RELATED WORK Standard works in literature for computing PageRank in parallel focused on exploiting the power of large cluster based computation. In general, the main focus of any parallel implementaion of the PageRank algo- rithm was on reducing the communication overhead and efficient problem partitioning. Zhu et al. [9] used an iterative aggregation and disaggregation method to effec- tively speedup the PageRank computation in a distributed
  • 2. environment. Gleich et al. [10] modeled the compu- tation of PageRank as a linear system and evaluated the performance of a parallel implementation on a 70- node Beowulf cluster. A parallel implementation of the standard power method for computing PageRank was done by Wu et al. [11] on AMD GPUs using OpenCL programing model. This work essentially concentrates on parallelizing the sparse matrix vector product (SpMV) using the AMD GPUs. Another work in this regard by Cevahir et al. [12] focused on extending a CPU cluster based parallel implementation on to a GPU cluster, using upto 100 GPU nodes. Our work is an attempt on measuring performance gains in computational costs for calculating PageRank using power method and it’s extrapolation variant on a single NVIDIA GPU using the standard CUBLAS and CUSPARSE libraries. To the best of our knowledge, no work has been done on parallelizing PageRank compu- tation using a single GPU. III. POWER METHOD FOR COMPUTING PAGERANK Finding Eigenvector for a given matrix is a numerical linear algebra problem that can be solved using several available methods in the literature. But, Power method is often the method of choice due to it’s ability to calculate the dominant Eigen pair. This method is an apt choice for the PageRank problem because, we are interested only in the principal Eigenvector of the given matrix. Procedurally, this method is an iterative method that finds the vector ¯ xk+1 from ¯ xk as ¯ xk+1 = A ¯ xk until ¯ xk+1 converges to desired tolerance. When Power method converges, the vector ¯ xk+1 is the Eigenvector for the given matrix corresponding to the dominant Eigenvalue (which, in this case is 1). The power method for computing PageRank can be elucidated as follows. Here, δ is the 1-Norm difference Data: Matrix A, Initial vector ¯ x0 Result: ¯ xk+1, the Eigenvector of Matrix A repeat ¯ xk+1 = A ¯ xk; δ = || ¯ xk+1 − ¯ xk||1; until δ < ; Algorithm 1: Power method for computing PageRank between the vectors in the kth iteration and the k + 1th iteration and is the desired convergence threshold. Note that A = α ¯ PT + (1 − α)E. Where, E is an stochastic matrix introduced to model the complete behaviour of a random surfer on the web. This reformulation is a consequence of the fact that the sparse matrix P alone do not capture the complete behavior of a random surfer. This introduces a new parameter α, also known as “Damping Factor”, whose value ranges between 0 and 1. It is an empirically proven fact that the damping factor α signifies the sub-dominant Eigenvalue of the Google matrix [13]. Observe that P is a sparse matrix and the sparsity is lost by taking the Convex Combination. A. An Efficient Power method type Algorithm for the PageRank problem We are dealing with matrices that represent the hy- perlink structure of the web that are very huge in size. Considering A as such and applying the Power method will lead to memory overflow. This can be overcome by replacing the matrix vector product Ax̄ as illustrated in the following Algorithm. Data: Matrix P, Initial vector ¯ x0, Damping factor α, Personalization Vector v̄ Result: ¯ xk+1, the Eigenvector of Matrix P repeat ¯ xk+1 = αPT ¯ xk; w = || ¯ xk||1 − || ¯ xk+1||1; ¯ xk+1 = ¯ xk+1 + wv̄; δ = || ¯ xk+1 − ¯ xk||1; until δ ; Algorithm 2: Modified Power method for computing PageRank Where v̄ is the Personalization vector which is 1 nē (ē is a column vector of all ones). The irreducibility of A implies that the dominant Eigenvalue is 1. B. Extrapolation Techniques for accelerating Conver- gence of Power Method Due to the sheer size of the web (over 50 billion links) PageRank computation by power method can take several days to complete. Speeding up this computation is highly critical. Though, power method is an apt choice for the PageR- ank problem, the convergence of the method is a matter of concern when α goes closer to 1. Hence, there is a need to lookout for variants of the power method that can accelerate the computation of the desired Principal Eigenvector of the given Matrix. 1) Aitken Extrapolation Technique: The Aitken Ex- trapolation technique [4] for computing PageRank is an extension of the basic power method in which the component values of the intermediary vectors in the ?? why? rank
  • 3. power iterations are periodically pruned so that the resultant vectors obtained are refined in the direction of the desired vector. The algorithm can be elucidated as follows. Data: Matix A, Initial vector ¯ x0 Result: ¯ xk+1, the Eigenvector of Matrix A repeat ¯ xk+1 = A ¯ xk; δ = || ¯ xk+1 − ¯ xk||1; periodically xk = Aitken(x̄k−2,x̄k−1 , x̄k); until δ ; Algorithm 3: Aitken Power method for computing PageRank function x̄ = Aitken(x̄k−2,x̄k−1 , x̄k); for i ← 1 to n do ¯ gi = (xk−1 i - xk−2 i )2; h̄i = xk i - 2xk−1 i + xk−2 i ; xi = xk i - gi/hi; end Algorithm 4: The Aitken Routine 2) Operation Count: In order for an extrapolation method such as Aitken Extrapolation to be useful, the overhead should be minimal i.e. the costs in addition to the cost of applying power iteration to generate iterates. The operation count of the loop in Algorithm 4 is O(n), where n is the number of pages on the web. The operation count of one extrapolation step is less than the operation count of a single iteration of the Power Method, and since Aitken Extrapolation may be applied only periodically, Aitken Extrapolation has minimal overhead. In the implementation, the additional cost of each application of Aitken Extrapolation is about 1% of the cost of a single iteration of the Power Method which is negligible. IV. SCOPE FOR PARALLELIZATION The power method for computing PageRank is highly parallelizable since most of the computation involves Sparse Matrix-Vector product (SpMV) and vector-vector operations. Since the matrix under consideration has a sparse structure, we used the CUSPARSE library provided by NVIDIA to store the matrix and perform the corresponding operations. The sparse matrix is con- structed by reading an adjacency list, which represents the nonzero values in the matrix. The list of operations involved in power method for computing PageRank and their equivalent CUS- PARSE/CUBLAS library calls used in our implemen- tation can be summarized as follows. • ȳ = αPTx̄ → cusparseDcsrmv(), to perform the sparse matrix PT and dense vector x̄ product • ||x̄||1 and ||ȳ||1 → cublasDasum(), to calculate the 1-Norm of the vectors (Here, both the vectors x̄ and ȳ are dense) • ȳ = ȳ + wv̄ → cublasDaxpy(), to update the vector ȳ, a simple axpy operation • δ = ||ȳ −x̄||1 → Wrote a simple kernel in the GPU to calculate δ A. Experimental Setup For the experiment, our parallelized version of the power method was run on Tesla T20 based “Fermi” GPU. A serial implementation of the same was also run in Matlab R2010a on Intel(R) core(TM)2 Duo 3.00GHz processor and 3GB RAM. B. Evaluation Dataset The performance of the parallel implementation of power method for computing PageRank and it’s corre- sponding extrapolation variant is evaluated on publicly available datasets [7] [8]. We also evaluated the per- formance on stanford.edu dataset. It consists of 281903 pages and 2382912 links. This link structure is repre- sented as an adjacency list, which is read as an input to construct the sparse matrix P. Table I summarizes the details of the datasets used in our experimentation. Name Size Computational Complexity (CC) 884 x 884 Abortion 2292 x 2292 Genetic 3468 x 3468 Stanford.edu 281903 x 281903 TABLE I DATASET DESCRIPTION Fig. 1. Execution time for α = 0.75 on stanford.edu dataset reduced Serial = Aitken extrapolated Power method? GPU = ?
  • 4. α Reduction in It(Serial) Reduction in It(GPU) 0.75 1e-3 0 1 0.75 1e-8 3 3 0.75 1e-10 2 2 0.75 1e-12 1 2 0.80 1e-3 0 0 0.80 1e-8 1 4 0.80 1e-10 4 4 0.80 1e-12 3 3 0.99 1e-3 112 114 0.99 1e-8 116 129 0.99 1e-10 126 130 TABLE II SAMPLE RESULTS FOR EXTRAPOLATION ON GENETIC DATASET α Reduction in It(Serial) Reduction in It(GPU) 0.85 1e-3 3 4 0.85 1e-8 4 5 0.85 1e-10 4 5 0.85 1e-12 5 5 0.95 1e-3 4 7 0.95 1e-8 5 7 0.95 1e-10 6 7 0.95 1e-12 7 7 TABLE III SAMPLE RESULTS FOR EXTRAPOLATION ON CC DATASET V. RESULTS1 In this section, we quantify the performance of our parallel implementation of the power method and it’s extrapolation variant on datasets of varying sizes. The performance of the same is evaluated for varying values of α and tolerance factor . For our experimentation, the α values ranged from 0.75 to 0.99 and the values ranged from 1e − 3 to 1e − 15. The results of the datasets titled computational complexity and Genetic are tabulated in Tables II and III. Here, “It” refers to the total number of iterations taken for the power method to converge and “Ti” refers to the time taken for convergence in seconds. From our findings, we observed substantial perfor- mance gains on all the datasets considered for exper- imentation and it is more pronounced in the case of stanford.edu dataset. As expected, the parallel implemen- tation outperformed the serial implementation in terms of time taken for convergence for all the datasets. We also found a potential gain in terms of the number of iterations for convergence as α became closer to 1 and 1 Due to the page limit constraints, we could present only a sample of our obtained results Fig. 2. Execution time for α = 0.85 on stanford.edu dataset Fig. 3. Execution time for α = 0.90 on stanford.edu dataset for higher tolerance levels. For instance, for α = 0.99 and = 1e-15, the serial implementation, converged in 18,234 iterations, whereas, the parallel implementation took merely 3013 iterations for convergence. Thus, we obtained a performance improvement of 16.52%. We obtained positive results even in the case of Aitken Extrapolation in terms of the number of iterations taken for convergence. We measured the improvement in terms of reduction in the number of iterations taken for convergence. We summarize our findings in Tables II and III. Specifically, for the Genetic dataset, for α = 0.99, and for varying values, on an average, we observed that, the parallel implementation reduced the number of iterations for convergence by a difference of 6. VI. CONCLUSIONS AND FUTURE WORK PageRank computation that forms the core component of Google’s search technology has been successfully parallelized using the CUDA programing model on a single GPU. We performed an extensive evaluation of our parallel implementation for different input parameter values and on datasets of varying sizes. From our results, it is clearly evident that our work is very relevant as it not only to minimizes the time involved in computing PageRank, but also reduces the number of iterations for convergence. Too high damping factor (al pha) Too high α Too small ε A parallel impl. cannot affect no. of iterations
  • 5. Fig. 4. Execution time for α = 0.95 on stanford.edu dataset Fig. 5. Execution time for α = 0.99 on stanford.edu dataset We intend to extend this parallel implementation on larger datasets like stanford-berkely.edu [14] that reflect the size of the World Wide Web in greater magnitude. All the datasets that are considered for experimentation are large but sill fit within the limits of the GPU memory. The single GPU approach for computing PageRank may not be scalable for larger matrices as the on-board GPU memory is a major constraint. Therefore, we look out for alternatives to accommodate large scale matrices. We also look out for higher performance gains through better optimization techniques at various levels of the algo- rithm. Though Aitken extrapolation gave positive results, it suffers a performance loss because the pruning of the component values of the iterates may not be optimal. In this regard, we also intend to parallelize another variant of power method obtained using quadratic extrapolation technique, which prunes the values in an optimal way. ACKNOWLEDGMENT We would like to express our deepest sense of grati- tude to our Founder Chancellor Bhagwan Sri Sathya Sai Baba. Without His grace, this work would have been impossible. We also acknowledge NVIDIA Pune division for providing the GPU infrastructure and support. Fig. 6. Number of iterations for convergence on stanford.edu dataset (Power Method), = 1e-15 REFERENCES [1] Lawrence Page, Sergey Brin, Rajeev Motwani, and Terry Wino- grad, “The pagerank citation ranking: Bringing order to the web.,” Technical report, Stanford InfoLab, 1999. [2] Kurt Bryan and Tanya Leise, “The $25,000,000,000 eigenvec- tor: the linear algebra behind google,” SIAM Review, vol. 48, pp. 569–581, 2006. [3] Sergey Brin and Lawrence Page, “The anatomy of a large-scale hypertextual web search engine,” Computer Networks and ISDN Systems, vol. 30, no. 1-7, pp. 107 – 117, 1998, Proceedings of the Seventh International World Wide Web Conference. [4] Sepandar Kamvar, Taher Haveliwala, Christopher Manning, and Gene Golub, “Extrapolation methods for accelerating pagerank computations,” in In Proceedings of the Twelfth International World Wide Web Conference. 2003, pp. 261–270, ACM Press. [5] CUDA CUBLAS Library, PG-05326-040V01, NVIDIA Corpo- ration, April 2011. [6] CUDA CUSPARSE Library, PG-05329-040V01, NVIDIA Cor- poration, January 2011. [7] Sepandar D. Kamvar, “Test datasets for link analysis algo- rithms, http://kamvar.org/assets/data/stanford-web.tar.gz,” Ac- cessed Online. [8] University of Toronto Department of Computer Science, “Datasets for evaluatiing link analysis algorithms, www.cs.toronto.edu/ tsap/experiments/datasets/index.html,” Accessed Online. [9] Yangbo Zhu, Shaozhi Ye, and Xing Li, “Distributed PageR- ank computation based on iterative aggregation-disaggregation methods,” in Proceedings of the 14th ACM international conference on Information and knowledge management. [10] David Gleich, “Fast parallel PageRank: A linear system approach,” Tech. Rep., 2004. [11] Tianji Wu, Bo Wang, Yi Shan, Feng Yan, Yu Wang, and Ningyi Xu, “Efficient PageRank and spmv computation on AMD gpus,” Parallel Processing, International Conference on, vol. 0, pp. 81–89, 2010. [12] Ata Turk B. Barla Cambazoglu Akira Nukada Ali Cevahir, Cevdet Aykanat and Satoshi Matsuoka, “Efficient PageRank on GPU clusters,” 18th Workshop for the evaluation of high- performance computing architecture, 2009. [13] Taher H. Haveliwala, Sepandar D. Kamvar, and Ar D. Kamvar, “The second eigenvalue of the google matrix,” 2003. [14] Sepandar Kamvar, Taher Haveliwala, and Gene Golub, “Adap- tive methods for the computation of PageRank,” Linear Algebra and its Applications, vol. 386, no. 0, pp. 51 – 65, 2004.