SlideShare a Scribd company logo
Dynamic Batch Parallel
Algorithms for Updating
PageRank
Subhajit Sahu†, Kishore Kothapalli† and Dip Sankar Banerjee‡
†International Institute of Information Technology Hyderabad, India.
‡Indian Institute of Technology Jodhpur, India.
subhajit.sahu@research.,kkishore@iiit.ac.in, dipsankarb@iitj.ac.in
This work is partially supported by a grant from the Department of Science and Technology (DST), India, under the
National Supercomputing Mission (NSM) R&D in Exascale initiative vide Ref. No: DST/NSM/R&D Exascale/2021/16.
Facebook is taking a page out
of Google’s playbook to stop
fake news from going viral
Published Apr 2019 by Salvador Rodriguez
Click-Gap: When is Facebook
is driving disproportionate
amounts of traffic to
websites.
Effort to rid fakes news
from Facebook’s services.
Is a website relying on
Facebook to drive
significant traffic, but not
well ranked by the rest of
the web?
Also News Citation Graph.
PAGERANK APPLICATIONS
Ranking of websites.
Measuring scientific impact of researchers.
Finding the best teams and athletes.
Ranking companies by talent concentration.
Predicting road/foot traffic in urban spaces.
Analysing protein networks.
Finding the most authoritative news sources
Identifying parts of brain that change jointly.
Toxic waste management.
PAGERANK APPLICATIONS
Debugging complex software systems(MonitorRank)
Finding the most original writers (BookRank)
Finding topical authorities (TwitterRank)
WHAT IS PAGERANK
PageRank is a link-analysis algorithm.
By Larry Page and Sergey Brin in 1996.
For ordering information on the web.
Represented with a random-surfer model.
Rank of a page is defined recursively.
Calculate iteratively with power-iteration.
PageRank computation approaches
Matrix multiplication.
Power-iteration (push vs pull).
Random walk (approximate).
Challenges & Limitations
Graphs are massive and constantly updated.
Existing dynamic algorithms do not utilize
reducibility of graphs.
Vertices which are dependent upon other vertices to
converge are still processed.
Locality benefits of SCCs are not explored.
Why Dynamic PageRank
Types of Dynamic graph algorithms
Incremental: handles 1 edge/vertex insertion.
Decremental: handles 1 edge/vertex deletion.
Fully dynamic: handles 1 insertion or deletion.
Batched fully dynamic: handles n insertions and/or
deletions.
Benefits of Dynamic graph algorithms
Reduces time needed for performing analytics.
Enables interactivity with dataset.
Batched fully dynamic algorithms accept a batch of
updates to minimize computation needed in contrast
to single-update fully dynamic ones.
Our Approaches: On graph update
Our Approaches: Computation procedure
Our Approaches: GPU-specific optimization
OUR APPROACHES: DynamicMonolithicPR
Full power-iteration, process all vertices.
Group vertices by SCC for better access.
Partition vertices by in-degree on GPU.
Use old ranks, skip unaffected vertices.
Affected vertices found with DFS.
Faster on GPU with CUDA.
OUR APPROACHES: DynamicMonolithicPR
OUR APPROACHES: DynamicLevelwisePR
Contrast to full power-iteration.
Process vertices in levels of SCCs.
Avoid converged/unstable vertices.
No per-iteration sharing of ranks.
Faster on CPU with OpenMP.
Slightly higher error.
Requires graph to be dead-end free.
OUR APPROACHES: DynamicLevelwisePR
Dataset
From the SuiteSparse Matrix
Collection.
Add self-loops to dead ends in
all graphs.
Number of vertices vary from 75k
to 41M.
Number of edges vary from 524k
to 1.1B.
Batch generation
Batch sizes vary from 500 to
10,000 edges.
Edge insertions, deletions in
equal mix.
High degree vertices have higher
chance of selection (mimic
real-world graphs).
No new vertices are added or
removed.
Platform
Intel(R) Xeon(R) Silver 4116 CPU (12 cores) x 2; Cache L1:
768KB, L2: 12MB, L3: 16MB (shared).
NVIDIA Tesla V100 GPU (16GB PCIe); 14 TFLOPs SP (84 SMs x 64
FP/INT cores), 16GB 900GB/s HBM2 DRAM, 32 GB/s PCIe.
CentOS 7.9, OpenMP 5.0, CUDA 11.3, GCC 9.3.
Performance measurement
Damping factor d of 0.15.
Tolerance τ of 10−6.
Maximum of 500 iterations.
32-bit integers for CSR representation.
32-bit floats for rank vector.
L∞-norm for error measurement,
(L2-norm for nvGraph PageRank).
Measured time only rank computation.
Results: Comparison with state-of-the-art
CPU AM time for batches of 500, 1000, 2000, 5000, 10000
6.1×, 8.6× wrt
static plain STIC-D
PR [1].
4.2×, 5.8× wrt Pure
CPU HyPR [2].
Results: Comparison with state-of-the-art
GPU AM time for batches of 500, 1000, 2000, 5000, 10000
9.8×, 9.3× wrt
naive dynamic
nvGraph PR.
1.9×, 1.8× wrt Pure
GPU HyPR.
Results: Batched vs Cumulative update
CPU time for batches of 500, 1000, 5000, 10000
4066×, 2998× of
5000 edges batch
wrt single-edge
cumulative update.
Results: Batched vs Cumulative update
GPU time for batches of 500, 1000, 5000, 10000
1712×, 2324× of
5000 edges batch
wrt cumulative
single-edge
update.
Conclusion
DynamicLevelwisePR is a suitable approach on CPU.
On a GPU, smaller levels should be combined and processed at a time.
On 1 SCC graphs, both algorithms perform ~identically.

More Related Content

Similar to Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDES (20)

PPTX
Big Stream Processing Systems, Big Graphs
Petr Novotný
 
PDF
Nvidia gpu-application-catalog TESLA K80 GPU應用程式型錄
Cheer Chain Enterprise Co., Ltd.
 
PPTX
Venkatesh Ramanathan, Data Scientist, PayPal at MLconf ATL 2017
MLconf
 
PPTX
Panel: NRP Science Impacts​
Larry Smarr
 
PDF
ISC Frankfurt 2015: Good, bad and ugly of accelerators and a complementary path
John Holden
 
PPT
Download It
butest
 
PPTX
System mldl meetup
Ganesan Narayanasamy
 
PPT
Presentation
butest
 
PPTX
Making Machine Learning Scale: Single Machine and Distributed
Turi, Inc.
 
ODP
How Data Volume Affects Spark Based Data Analytics on a Scale-up Server
Ahsan Javed Awan
 
PDF
NVIDIA Rapids presentation
testSri1
 
PDF
Rapids: Data Science on GPUs
inside-BigData.com
 
PPTX
APSys Presentation Final copy2
Junli Gu
 
PPT
Sigmaplot 13 PPT
Siriyak Cr
 
PDF
Phi Week 2019
Alison B. Lowndes
 
PDF
GOAI: GPU-Accelerated Data Science DataSciCon 2017
Joshua Patterson
 
PPTX
GPU 101: The Beast In Data Centers
Rommel Garcia
 
PDF
AI and Deep Learning
Subrat Panda, PhD
 
PPTX
Distributed computing abstractions_data_science_6_june_2016_ver_0.4
Vijay Srinivas Agneeswaran, Ph.D
 
PDF
RAPIDS – Open GPU-accelerated Data Science
Data Works MD
 
Big Stream Processing Systems, Big Graphs
Petr Novotný
 
Nvidia gpu-application-catalog TESLA K80 GPU應用程式型錄
Cheer Chain Enterprise Co., Ltd.
 
Venkatesh Ramanathan, Data Scientist, PayPal at MLconf ATL 2017
MLconf
 
Panel: NRP Science Impacts​
Larry Smarr
 
ISC Frankfurt 2015: Good, bad and ugly of accelerators and a complementary path
John Holden
 
Download It
butest
 
System mldl meetup
Ganesan Narayanasamy
 
Presentation
butest
 
Making Machine Learning Scale: Single Machine and Distributed
Turi, Inc.
 
How Data Volume Affects Spark Based Data Analytics on a Scale-up Server
Ahsan Javed Awan
 
NVIDIA Rapids presentation
testSri1
 
Rapids: Data Science on GPUs
inside-BigData.com
 
APSys Presentation Final copy2
Junli Gu
 
Sigmaplot 13 PPT
Siriyak Cr
 
Phi Week 2019
Alison B. Lowndes
 
GOAI: GPU-Accelerated Data Science DataSciCon 2017
Joshua Patterson
 
GPU 101: The Beast In Data Centers
Rommel Garcia
 
AI and Deep Learning
Subrat Panda, PhD
 
Distributed computing abstractions_data_science_6_june_2016_ver_0.4
Vijay Srinivas Agneeswaran, Ph.D
 
RAPIDS – Open GPU-accelerated Data Science
Data Works MD
 

More from Subhajit Sahu (20)

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

Recently uploaded (20)

PPTX
Instrumentation of IR and Raman Spectrophotometers.pptx
sngth2h2acc
 
PPTX
Paired Sketching of Distributed User Interfaces:Workflow, Protocol, Software ...
Jean Vanderdonckt
 
PPTX
General properties of connective tissue.pptx
shrishtiv82
 
PDF
Global Health Initiatives: Lessons from Successful Programs (www.kiu.ac.ug)
publication11
 
PPT
rate of reaction and the factors affecting it.ppt
MOLATELOMATLEKE
 
PDF
The Gender Binary & LGBTI People: Religious Myth and Medical Malpractice
Veronica Drantz, PhD
 
PPTX
Unit-1-The-Origin-of-the-Universe-and-the-Solar-System-1.pptx
SylvesterMata2
 
PDF
Driving down costs for fermentation: Recommendations from techno-economic data
The Good Food Institute
 
PDF
Herbal Excipients: Natural Colorants & Perfumery Agents
Seacom Skills University
 
PDF
Evidence for a sub-Jovian planet in the young TWA 7 disk
Sérgio Sacani
 
PDF
Enzyme Kinetics_Lecture 8.5.2025 Enzymology.pdf
ayeshaalibukhari125
 
DOCX
Transportation in plants and animals.docx
bhatbashir421
 
PDF
Impacts on Ocean Worlds Are Sufficiently Frequent and Energetic to Be of Astr...
Sérgio Sacani
 
PDF
HOW TO DEAL WITH THREATS FROM THE FORCES OF NATURE FROM OUTER SPACE.pdf
Faga1939
 
PPT
states_of_matter.ppt presentation for grade 9
ROLANARIBATO3
 
PDF
Can Consciousness Live and Travel Through Quantum AI?
Saikat Basu
 
PDF
Electromagnetism 3.pdf - AN OVERVIEW ON ELECTROMAGNETISM
kaustavsahoo94
 
PPTX
FACTORS PREDISPOSING TO MICROBIAL PATHOGENICITY.pptx
Remya M S
 
PDF
Integrating Conversational Agents and Knowledge Graphs within the Scholarly D...
Angelo Salatino
 
PDF
Isro (Indian space research organization)
parineetaparineeta23
 
Instrumentation of IR and Raman Spectrophotometers.pptx
sngth2h2acc
 
Paired Sketching of Distributed User Interfaces:Workflow, Protocol, Software ...
Jean Vanderdonckt
 
General properties of connective tissue.pptx
shrishtiv82
 
Global Health Initiatives: Lessons from Successful Programs (www.kiu.ac.ug)
publication11
 
rate of reaction and the factors affecting it.ppt
MOLATELOMATLEKE
 
The Gender Binary & LGBTI People: Religious Myth and Medical Malpractice
Veronica Drantz, PhD
 
Unit-1-The-Origin-of-the-Universe-and-the-Solar-System-1.pptx
SylvesterMata2
 
Driving down costs for fermentation: Recommendations from techno-economic data
The Good Food Institute
 
Herbal Excipients: Natural Colorants & Perfumery Agents
Seacom Skills University
 
Evidence for a sub-Jovian planet in the young TWA 7 disk
Sérgio Sacani
 
Enzyme Kinetics_Lecture 8.5.2025 Enzymology.pdf
ayeshaalibukhari125
 
Transportation in plants and animals.docx
bhatbashir421
 
Impacts on Ocean Worlds Are Sufficiently Frequent and Energetic to Be of Astr...
Sérgio Sacani
 
HOW TO DEAL WITH THREATS FROM THE FORCES OF NATURE FROM OUTER SPACE.pdf
Faga1939
 
states_of_matter.ppt presentation for grade 9
ROLANARIBATO3
 
Can Consciousness Live and Travel Through Quantum AI?
Saikat Basu
 
Electromagnetism 3.pdf - AN OVERVIEW ON ELECTROMAGNETISM
kaustavsahoo94
 
FACTORS PREDISPOSING TO MICROBIAL PATHOGENICITY.pptx
Remya M S
 
Integrating Conversational Agents and Knowledge Graphs within the Scholarly D...
Angelo Salatino
 
Isro (Indian space research organization)
parineetaparineeta23
 
Ad

Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDES

  • 1. Dynamic Batch Parallel Algorithms for Updating PageRank Subhajit Sahu†, Kishore Kothapalli† and Dip Sankar Banerjee‡ †International Institute of Information Technology Hyderabad, India. ‡Indian Institute of Technology Jodhpur, India. subhajit.sahu@research.,[email protected], [email protected] This work is partially supported by a grant from the Department of Science and Technology (DST), India, under the National Supercomputing Mission (NSM) R&D in Exascale initiative vide Ref. No: DST/NSM/R&D Exascale/2021/16.
  • 2. Facebook is taking a page out of Google’s playbook to stop fake news from going viral Published Apr 2019 by Salvador Rodriguez Click-Gap: When is Facebook is driving disproportionate amounts of traffic to websites. Effort to rid fakes news from Facebook’s services. Is a website relying on Facebook to drive significant traffic, but not well ranked by the rest of the web? Also News Citation Graph.
  • 3. PAGERANK APPLICATIONS Ranking of websites. Measuring scientific impact of researchers. Finding the best teams and athletes. Ranking companies by talent concentration. Predicting road/foot traffic in urban spaces. Analysing protein networks. Finding the most authoritative news sources Identifying parts of brain that change jointly. Toxic waste management.
  • 4. PAGERANK APPLICATIONS Debugging complex software systems(MonitorRank) Finding the most original writers (BookRank) Finding topical authorities (TwitterRank)
  • 5. WHAT IS PAGERANK PageRank is a link-analysis algorithm. By Larry Page and Sergey Brin in 1996. For ordering information on the web. Represented with a random-surfer model. Rank of a page is defined recursively. Calculate iteratively with power-iteration.
  • 6. PageRank computation approaches Matrix multiplication. Power-iteration (push vs pull). Random walk (approximate).
  • 7. Challenges & Limitations Graphs are massive and constantly updated. Existing dynamic algorithms do not utilize reducibility of graphs. Vertices which are dependent upon other vertices to converge are still processed. Locality benefits of SCCs are not explored.
  • 9. Types of Dynamic graph algorithms Incremental: handles 1 edge/vertex insertion. Decremental: handles 1 edge/vertex deletion. Fully dynamic: handles 1 insertion or deletion. Batched fully dynamic: handles n insertions and/or deletions.
  • 10. Benefits of Dynamic graph algorithms Reduces time needed for performing analytics. Enables interactivity with dataset. Batched fully dynamic algorithms accept a batch of updates to minimize computation needed in contrast to single-update fully dynamic ones.
  • 11. Our Approaches: On graph update
  • 14. OUR APPROACHES: DynamicMonolithicPR Full power-iteration, process all vertices. Group vertices by SCC for better access. Partition vertices by in-degree on GPU. Use old ranks, skip unaffected vertices. Affected vertices found with DFS. Faster on GPU with CUDA.
  • 16. OUR APPROACHES: DynamicLevelwisePR Contrast to full power-iteration. Process vertices in levels of SCCs. Avoid converged/unstable vertices. No per-iteration sharing of ranks. Faster on CPU with OpenMP. Slightly higher error. Requires graph to be dead-end free.
  • 18. Dataset From the SuiteSparse Matrix Collection. Add self-loops to dead ends in all graphs. Number of vertices vary from 75k to 41M. Number of edges vary from 524k to 1.1B.
  • 19. Batch generation Batch sizes vary from 500 to 10,000 edges. Edge insertions, deletions in equal mix. High degree vertices have higher chance of selection (mimic real-world graphs). No new vertices are added or removed.
  • 20. Platform Intel(R) Xeon(R) Silver 4116 CPU (12 cores) x 2; Cache L1: 768KB, L2: 12MB, L3: 16MB (shared). NVIDIA Tesla V100 GPU (16GB PCIe); 14 TFLOPs SP (84 SMs x 64 FP/INT cores), 16GB 900GB/s HBM2 DRAM, 32 GB/s PCIe. CentOS 7.9, OpenMP 5.0, CUDA 11.3, GCC 9.3.
  • 21. Performance measurement Damping factor d of 0.15. Tolerance τ of 10−6. Maximum of 500 iterations. 32-bit integers for CSR representation. 32-bit floats for rank vector. L∞-norm for error measurement, (L2-norm for nvGraph PageRank). Measured time only rank computation.
  • 22. Results: Comparison with state-of-the-art CPU AM time for batches of 500, 1000, 2000, 5000, 10000 6.1×, 8.6× wrt static plain STIC-D PR [1]. 4.2×, 5.8× wrt Pure CPU HyPR [2].
  • 23. Results: Comparison with state-of-the-art GPU AM time for batches of 500, 1000, 2000, 5000, 10000 9.8×, 9.3× wrt naive dynamic nvGraph PR. 1.9×, 1.8× wrt Pure GPU HyPR.
  • 24. Results: Batched vs Cumulative update CPU time for batches of 500, 1000, 5000, 10000 4066×, 2998× of 5000 edges batch wrt single-edge cumulative update.
  • 25. Results: Batched vs Cumulative update GPU time for batches of 500, 1000, 5000, 10000 1712×, 2324× of 5000 edges batch wrt cumulative single-edge update.
  • 26. Conclusion DynamicLevelwisePR is a suitable approach on CPU. On a GPU, smaller levels should be combined and processed at a time. On 1 SCC graphs, both algorithms perform ~identically.