SlideShare a Scribd company logo
1 of 5
Download to read offline
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 preferencesSweta 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 learningSeungHyeok 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 algorithmsIJDKP
 
Deep Reinforcement Learning: Q-Learning
Deep Reinforcement Learning: Q-LearningDeep Reinforcement Learning: Q-Learning
Deep Reinforcement Learning: Q-LearningKai-Wen Zhao
 
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 SETScsandit
 
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 financeIgor Hlivka
 
Lect5 principal component analysis
Lect5 principal component analysisLect5 principal component analysis
Lect5 principal component analysishktripathy
 
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 SlidesAbhishekKumar4995
 
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
 
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
 
Probabilistic PCA, EM, and more
Probabilistic PCA, EM, and moreProbabilistic PCA, EM, and more
Probabilistic PCA, EM, and morehsharmasshare
 
slides-defense-jie
slides-defense-jieslides-defense-jie
slides-defense-jiejie ren
 

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 Effective PageRank GPU

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 GraphsSubhajit Sahu
 
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 miningMai 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
 
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.pdfPo-Chuan Chen
 
Extrapolation
ExtrapolationExtrapolation
Extrapolationcarlos
 
Extrapolation
ExtrapolationExtrapolation
Extrapolationjonathan
 
Extrapolation
ExtrapolationExtrapolation
ExtrapolationJLMora
 
Extrapolation
ExtrapolationExtrapolation
Extrapolationjonathan
 
Extrapolation
ExtrapolationExtrapolation
ExtrapolationSamir
 

Similar to Cost Effective PageRank GPU (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
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 
mm
mmmm
mm
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 
Extrapolation
ExtrapolationExtrapolation
Extrapolation
 

More from 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 : NOTESSubhajit 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 : NOTESSubhajit 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 : NOTESSubhajit 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 : NOTESSubhajit Sahu
 
Community Detection on the GPU : NOTES
Community Detection on the GPU : NOTESCommunity Detection on the GPU : NOTES
Community Detection on the GPU : NOTESSubhajit 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 : NOTESSubhajit 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 : POSTERSubhajit 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 : NOTESSubhajit Sahu
 
Can you fix farming by going back 8000 years : NOTES
Can you fix farming by going back 8000 years : NOTESCan you fix farming by going back 8000 years : NOTES
Can you fix farming by going back 8000 years : NOTESSubhajit Sahu
 
HITS algorithm : NOTES
HITS algorithm : NOTESHITS algorithm : NOTES
HITS algorithm : NOTESSubhajit Sahu
 
Basic Computer Architecture and the Case for GPUs : NOTES
Basic Computer Architecture and the Case for GPUs : NOTESBasic Computer Architecture and the Case for GPUs : NOTES
Basic Computer Architecture and the Case for GPUs : NOTESSubhajit Sahu
 
Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDES
Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDESDynamic Batch Parallel Algorithms for Updating Pagerank : SLIDES
Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDESSubhajit Sahu
 
Are Satellites Covered in Gold Foil : NOTES
Are Satellites Covered in Gold Foil : NOTESAre Satellites Covered in Gold Foil : NOTES
Are Satellites Covered in Gold Foil : NOTESSubhajit Sahu
 
Taxation for Traders < Markets and Taxation : NOTES
Taxation for Traders < Markets and Taxation : NOTESTaxation for Traders < Markets and Taxation : NOTES
Taxation for Traders < Markets and Taxation : NOTESSubhajit Sahu
 
A Generalization of the PageRank Algorithm : NOTES
A Generalization of the PageRank Algorithm : NOTESA Generalization of the PageRank Algorithm : NOTES
A Generalization of the PageRank Algorithm : NOTESSubhajit Sahu
 
ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...
ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...
ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...Subhajit Sahu
 
Income Tax Calender 2021 (ITD) : NOTES
Income Tax Calender 2021 (ITD) : NOTESIncome Tax Calender 2021 (ITD) : NOTES
Income Tax Calender 2021 (ITD) : NOTESSubhajit Sahu
 
Youngistaan Foundation: Annual Report 2020-21 : NOTES
Youngistaan Foundation: Annual Report 2020-21 : NOTESYoungistaan Foundation: Annual Report 2020-21 : NOTES
Youngistaan Foundation: Annual Report 2020-21 : NOTESSubhajit Sahu
 

More from Subhajit Sahu (20)

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
 
Can you fix farming by going back 8000 years : NOTES
Can you fix farming by going back 8000 years : NOTESCan you fix farming by going back 8000 years : NOTES
Can you fix farming by going back 8000 years : NOTES
 
HITS algorithm : NOTES
HITS algorithm : NOTESHITS algorithm : NOTES
HITS algorithm : NOTES
 
Basic Computer Architecture and the Case for GPUs : NOTES
Basic Computer Architecture and the Case for GPUs : NOTESBasic Computer Architecture and the Case for GPUs : NOTES
Basic Computer Architecture and the Case for GPUs : NOTES
 
Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDES
Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDESDynamic Batch Parallel Algorithms for Updating Pagerank : SLIDES
Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDES
 
Are Satellites Covered in Gold Foil : NOTES
Are Satellites Covered in Gold Foil : NOTESAre Satellites Covered in Gold Foil : NOTES
Are Satellites Covered in Gold Foil : NOTES
 
Taxation for Traders < Markets and Taxation : NOTES
Taxation for Traders < Markets and Taxation : NOTESTaxation for Traders < Markets and Taxation : NOTES
Taxation for Traders < Markets and Taxation : NOTES
 
A Generalization of the PageRank Algorithm : NOTES
A Generalization of the PageRank Algorithm : NOTESA Generalization of the PageRank Algorithm : NOTES
A Generalization of the PageRank Algorithm : NOTES
 
ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...
ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...
ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...
 
Income Tax Calender 2021 (ITD) : NOTES
Income Tax Calender 2021 (ITD) : NOTESIncome Tax Calender 2021 (ITD) : NOTES
Income Tax Calender 2021 (ITD) : NOTES
 
Youngistaan Foundation: Annual Report 2020-21 : NOTES
Youngistaan Foundation: Annual Report 2020-21 : NOTESYoungistaan Foundation: Annual Report 2020-21 : NOTES
Youngistaan Foundation: Annual Report 2020-21 : NOTES
 

Recently uploaded

SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxkessiyaTpeter
 
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisRaman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisDiwakar Mishra
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...anilsa9823
 
Analytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptxAnalytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptxSwapnil Therkar
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTSérgio Sacani
 
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡anilsa9823
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...Sérgio Sacani
 
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSpermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSarthak Sekhar Mondal
 
Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...Nistarini College, Purulia (W.B) India
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptxanandsmhk
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfSumit Kumar yadav
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoSérgio Sacani
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)PraveenaKalaiselvan1
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PPRINCE C P
 
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCESTERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCEPRINCE C P
 
A relative description on Sonoporation.pdf
A relative description on Sonoporation.pdfA relative description on Sonoporation.pdf
A relative description on Sonoporation.pdfnehabiju2046
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxUmerFayaz5
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bSérgio Sacani
 

Recently uploaded (20)

SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
 
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisRaman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
 
The Philosophy of Science
The Philosophy of ScienceThe Philosophy of Science
The Philosophy of Science
 
Analytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptxAnalytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptx
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
 
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
 
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSpermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
 
Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdf
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on Io
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)
 
CELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdfCELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdf
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C P
 
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCESTERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
 
A relative description on Sonoporation.pdf
A relative description on Sonoporation.pdfA relative description on Sonoporation.pdf
A relative description on Sonoporation.pdf
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
 

Cost Effective PageRank GPU

  • 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.